Ne haragudj, k.rég volt amikor C-t és egyéb, 3. generációs nyelveket tanulgattam, ezért is nem mertem leírni, de ahogy elnézem, mások is valami hasonló nézeten vannak: van egy függvényed, ami visszaad valamilyen típust. Van a returnben egy konstans értéked. Ilyenkor a fordító azt csinálja, hogy kitalál a konstans értékhez egy általa feltételezett típust, azt konvertálja a függvényed visszatérési értékeként megjelölt típusra és így adja vissza a returnbe írt értéket. (feltéve, hogy a mai fordítók is nagyjából úgy működnek e téren, mint húsz évvel ezelőtti társaik)
Végeredményben ez a szokásos: "a számítógép nem a kívánságaid, hanem az utasításaid szerint működik" esetének tűnik.
De összeszedem magam, hogy megpróbáljak valami assembly listát kipréselni a gcc-ből (remélem, még lehet :D) és megnézem, hogy különböző variációkra hogy reagál.
Régen imádtam ilyenekkel szórakozni, sajnos nagyon kiestem belőle. :(