Quellcoderätsel
-
@HumeSikkins:
sehr schön.
nah an der musterlösung.
etwas kompliziert gedacht, aber das 'unterschiedliche verhalten' gut umgesetzt.
erste richtige einsendung
-
ok, hier scheint sich nix mehr zu tun...
...and the winner is...
* * * * HumäääääääääääääSikkinnnnnns!!!!! * * * *
zwar kampflos, aber immerhin
btw, meine 'muster'lösung sieht so aus:
int main () { return sizeof('a'); return 0; }
-
warum liefert das unter C was anderes als unter C++?
-
Habe auch noch was schönes:
int main() { int a[2] = { [1] = 1 }; return 0; }
-
das kompiliert aber weder in C noch in C++
-
Dann ist dein Compiler zu dumm. Das ist jedenfalls gültiges C99.
-
achso, du bist wieder bei der ersten frage... ging ja grade um C++-code der in C was anderes macht.
-
Yep, das bezog sich auf den ersten Beitrag des OP.
-
Edit: Aha - es geht inzwischen um eine andere Frage als ursprünglich ...
schade, die ursprüngliche fand ich eigentlich interessanter.Gruß,
Simon2.
-
Simon2 schrieb:
rüdiger schrieb:
int main() { int a= #ifdef __cplusplus 1 #else 0 #endif ; }Was soll denn in C++ daran "ungültiger Code" sein ?
Lies den Thread.

Es gibt noch eine Aufgabe.
-
Simon2 schrieb:
Edit: Aha - es geht inzwischen um eine andere Frage als ursprünglich ...
schade, die ursprüngliche fand ich eigentlich interessanter.die zweite war wohl zu gemein für dich

aber poste doch mal selber ein rätsel hier rein. vielleicht wird das noch ein netter rätselthread?
btw: die spielleitung der zweiten runde bedankt sich bei allen teilnehmern.
insbesondere bei rüdiger, für seinen vorbildlichen kampfgeist. kopf hoch, nächstes mal klappts bestimmt
-
net schrieb:
Simon2 schrieb:
Edit: Aha - es geht inzwischen um eine andere Frage als ursprünglich ...
schade, die ursprüngliche fand ich eigentlich interessanter.die zweite war wohl zu gemein für dich ;)...
Nö,
finde ich aber (zumindestens auf den ersten Blick) interessanter...
Gruß,
Simon2.
-
Simon2 schrieb:
net schrieb:
die zweite war wohl zu gemein für dich ;)...
Nö,
nicht?
beweise es, ich glaub' es gibt noch mindestens 2 andere tricks (ganz ohne 'sizeof')
-
Ich hab' mal irgendwo eine Lösung gesehen, die auf den Kommentaren // (C++) und /../ (C) aufgebaut hat, aber ich krieg sie nicht mehr zusammen.
-
CStoll schrieb:
Ich hab' mal irgendwo eine Lösung gesehen, die auf den Kommentaren // (C++) und /../ (C) aufgebaut hat, aber ich krieg sie nicht mehr zusammen.
muss aber uralt gewesen sein. die c compiler heute können ja fast alle //
-
net schrieb:
muss aber uralt gewesen sein. die c compiler heute können ja fast alle //
Möglich, daß sie es können, aber afair entspricht das nicht dem ANSI C Standard.
PS: Hab's übrigens wiedergefunden:
int result = 1 //* */ 2 ;
-
CStoll schrieb:
Möglich, daß sie es können, aber afair entspricht das nicht dem ANSI C Standard.
doch, steht in ISO/IEC 9899:1999 kapitel 6.4.9 absatz 2:
Except within a character constant, a string literal, or a comment, the characters //
introduce a comment that includes all multibyte characters up to, but not including, the
next new-line character.
-
Er meint vielleicht ISO/IEC 9899:1989!?
-
finix schrieb:
Er meint vielleicht ISO/IEC 9899:1989!?
das ist aber 'outdated'
-
net schrieb:
finix schrieb:
Er meint vielleicht ISO/IEC 9899:1989!?
das ist aber 'outdated'
Ja, ich meinte C89, weil ich von dort aus gleich zu C++ gewechselt bin (und die Neuerungen in C99 habe ich bestenfalls am Rande mitbekommen).