Forum: Knobelecke
Moderatoren: broesel, juergenThema: C / C++
Hallo,
habe mir ein neues Rätsel "ausgedacht", diesmal eines mit mehreren richtigen Lösungen.
Oft wird ja behauptet, C++ sei eine Obermenge von C, oder C sei vollständig in C++ enthalten. Daraus sollte man eigentlich folgern dürfen, dass jedes C-Programm von einem C++-Compiler akzeptiert und übersetzt wird.
Die Aufgabe: finde ein gültiges C-Programm, welches nicht von einem C++-Compiler akzeptiert wird. Gerade so gelten lassen kann man auch Programme, die zwar mit einem C++-Compiler übersetzt werden können, dann aber eine andere Ausgabe erzeugen als die unter C erwartete (damit meine ich also nicht "#ifdef C++" o.ä.).
Mir fallen auf Anhieb drei Lösungen ein, aber ich denke dass es noch weitere Möglichkeiten gibt. Ich bin gespannt ob hier eine Lösung auftaucht, die ich noch nicht gekannt habe.
Gruss,
Philip
habe mir ein neues Rätsel "ausgedacht", diesmal eines mit mehreren richtigen Lösungen.
Oft wird ja behauptet, C++ sei eine Obermenge von C, oder C sei vollständig in C++ enthalten. Daraus sollte man eigentlich folgern dürfen, dass jedes C-Programm von einem C++-Compiler akzeptiert und übersetzt wird.
Die Aufgabe: finde ein gültiges C-Programm, welches nicht von einem C++-Compiler akzeptiert wird. Gerade so gelten lassen kann man auch Programme, die zwar mit einem C++-Compiler übersetzt werden können, dann aber eine andere Ausgabe erzeugen als die unter C erwartete (damit meine ich also nicht "#ifdef C++" o.ä.).
Mir fallen auf Anhieb drei Lösungen ein, aber ich denke dass es noch weitere Möglichkeiten gibt. Ich bin gespannt ob hier eine Lösung auftaucht, die ich noch nicht gekannt habe.
Gruss,
Philip
--
The C Programming Quiz
- bitte Fragen einreichen :)
Re: C / C++
Martin Conrad (webmaster) am 30.06.2010 um 22:47
Schlüsselworte, die in ++ reserviert sind, aber nicht in C als Variablennamen und so Quatsch. Aber ich denke mal, dass das nicht ist, worauf du hinaus willst...
Bis denne
Martin
--
0xC0FFEE
Re: C / C++
broesel (webmaster) am 30.06.2010 um 23:16
Zitat:
Spontan fallen mir grad Schlüsselworte ein.
Treffer, daran hatte ich u.a. ebenfalls gedacht.
Um den Kommentar zu vervollständigen, das folgende Programm ist gültiges C und ungültiges C++:
int main(void) { int friend; }
Hat jemand noch eine Idee?
Gruss,
Philip
--
The C Programming Quiz
- bitte Fragen einreichen :)
Re: C / C++
Patrick am 01.07.2010 um 06:53
--
To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.
[EDIT] - Re: C / C++
icefire am 01.07.2010 um 20:34
Zitat:
habe mir ein neues Rätsel "ausgedacht", diesmal eines mit mehreren richtigen Lösungen.
Gutes Rätsel-Thema
Zitat:
Hat jemand noch eine Idee?
Idee schon, aber noch weit entfernt von ausgereift
Ich erinner mich dunkel dass es da Unterschiede im Zusammenhang mit typedef + struct/union/enum gibt ... ?
Vielleicht fällts ja jemand anderem ein.
mfg, Wolfgang
Edit: Gedanke verworfen, mit dem Ansatz komme ich nur auf Code der in C++ geht und in C nicht, aber nicht umgekehrt.
--
Hex, Bugs and Rock 'n Roll
