Quellcoderätsel
-
#include <stdio.h> int main() { #ifdef __cplusplus puts("C++"); #else puts("C"); #endif }okay, wenig kreativ. Lass uns alle Sachen mit Prüfung auf __cplusplus verbieten

-
Du mußt das Semikolon dahinter schreiben.
So stehen zwei Stück dort. 
-
@rüdi: dein beitrag gilt nicht, du hast gegen ein paar regeln verstossen (siehe NES_Spielers beitrag)
z.b. nur *eine* anweisung, keine #includes etc...
-
int main() { int a= #ifdef __cplusplus 1 #else 0 #endif ; }
-
@rüdi: leider wieder nix

NES-Spieler schrieb:
Es darf außer der einen Sache in Zeile 3 nichts weiter hinzugefügt, geändert oder gelöscht werden.
-
Falls sizeof(char) != sizeof(int):
int main () { int i = sizeof('a') == sizeof(char) ? *(int*)0 : 1; return 0; }
-
@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.