Hallo, On Fri, 07 Mar 2003, Bernhard Walle wrote:
On Fri, 07 Mar 2003 at 23:20 (+0100), Ulrich Gehring wrote:
Schau mal da rein: http://www.hosengummi.de/fuenf_schritte/fuenf_schritte.html
Ich habe die URL mal aufgerufen.
#include
int main() { int n; // Deklaration printf("n hat den Wert %i",n); }
a) Dir ist schon klar dass stdio.h nicht C++ ist.
Hoffen wir's! Das ist bis auf den falschen Kommentar ('//') reines C.
b) Wenn Du schon die FUnktion vom Typ `int' ist, dann hat sie gefaelligst einen Integer zurueckzugeben. In Java (z. B.) wuerde sowas ueberhaupt nicht kompiliert werden.
Ack.
c) Gib ein Newline mit aus. Es gibt Shells die ueberschreiben die letzte Zeile (z. B. zsh) und dann sieht man nichts und glaubt irgendwas laeuft schief.
Ack!
d) Ich kann mich auch irren, aber meiner Meinung nach ist `int n' eine Definition, schliesslich wird Speicherplatz reserviert.
Korrekt.
Z. B. [1]. Und `n = 7' ist eine Zuweisung und keine Definition.
Jep.
Das Beispiel muesste also nach ISO C++ so aussehen:
#include <cstdio>
int main (int, char**) { int n; std::printf("n hat den Wert %i\n", n);
*patsch* Wo wird 'n' initialisiert??
return 0; }
Auch nicht gut! ==== #include <iostream> int main(void) { int n = 0; std::cout << "n hat den Wert " << n << std::endl; return 0; } ==== -dnh -- Du vergisst die Kunden, die sich Windows-"Lösungen" andrehen lassen. Die kaufen auch Scheiße in Dosen incl. Wartungsvertrag. -- Holger Marzen