viele kleine fragen zu dezimal in binärumwandler
-
[quote="c.rackwitz"]davon abgesehen...
g++ schrieb:
blank.cpp: In function
void i2b(int)': blank.cpp:3: \
i2b(int)((i >> 1))' has type `void' and is not a throw-expressionWillst du mir was sagen? Meine Funktion lässt sich ohne Warnings kompilieren...
int i2b(int i){i>>1?i2b(i>>1):i;printf("%i",i&1);}
*scnr* 50 byte
... was man von deiner Funktion nicht sagen kann
-
wenn du das ernst gemeint hast:
interpreter schrieb:
void i2b(int i){i>>1?i2b(i>>1):i;printf("%i",i&1);}
i2b gibt nichts zurück, was aber der ?: operator so gerne hätte...
wenn du das mit einem
gemeint hast:
-
void i2b(int i){i/2?i2b(i/2):i;printf("%i",i&1);}
-
omg, ich fass mir an den kopf
-
c.rackwitz schrieb:
wenn du das ernst gemeint hast:
interpreter schrieb:
void i2b(int i){i>>1?i2b(i>>1):i;printf("%i",i&1);}
i2b gibt nichts zurück, was aber der ?: operator so gerne hätte...
wenn du das mit einem
gemeint hast:
Bei mir lässt sich das ohne Probleme kompilieren
-
anyway... int i2b ist kürzer als void i2b
-
wenn int i2b muss sie auch was zurückgeben. dadurch wird sie ja wohl doch was länger.. return hat schonmal 6 buchstaben
-
@meta
ich vermute mal dafür hat der alte standard auch wieder eine schweinerei vorgesehen das dann im falle ein defaultwert zurückgegeben wird... auch kann man int gleich weglassen da dies dann defaultmässig angenommen wird...
-
als mein compiler (microsoft visual studio 6) gibt n error...
gruß,
mAta
-
als mein compiler (microsoft visual studio 6) gibt n error...
das ist natürlich auch der vorbildlichste unter den Standardanbeterkompilern...
-
ich hab den gcc in mingw und es kommen fehler bei "void i2b", jedoch nur warnungen bei "int i2b".
warnung wegen dem fehlenden return (wird anscheinend durch nen default wert ausgeglichen).
fehler, weil der ?: operator sonst einen rückgabewert von einer void funktion erwartet...logisch, ne?
edit: sorry, hab es die ganze zeit als c++ compilieren lassen. wenn ich es als c compilieren lasse, dann meckert g++ nicht mehr wegen dem ?:...