@virtual so ist deins kürzer als beefys wenn er die Datentypen angeben würde
C++:
int foo(int n, int r){return(n+--r)&~r;}
Leider nein. Der Ausdruck ist nicht definiert. Der Standard legt nicht fest, ob zuerst --r oder ~r ausgewertet wird -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Nein. Es fehlt ein Sequencepoint, da hilft die beste und dickste Klammer nicht. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Zeigt mir nen Compiler, der vollständig C99 kann und ich überleg mir das mit den Signaturen noch mal. In C89 - dem gängigen Standard - ist der Code so gültig. Nicht schön, aber gültig - und wo steht, dass Golf-Code schön sein muss? -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Zeigt mir nen Compiler, der vollständig C99 kann und ich überleg mir das mit den Signaturen noch mal. In C89 - dem gängigen Standard - ist der Code so gültig. Nicht schön, aber gültig - und wo steht, dass Golf-Code schön sein muss?
Mit dem Comeau Compiler 4.3.3 hat man einen C99 Compliant Compiler. Der neue gcc hat in nahezu vernachlässigbaren Randbereichen noch leichte Abweichungen (oder andersherum: bitte nenne mir eine wesentliche einschränkung!). Der C99 Standard ersetzt den alten, so ist das nun mal. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Naja, mir solls gleich sein, zumal ja bei den meisten Rätseln inzwischen die Signatur eh nicht mehr mitzählt. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra