Einfaches C Programm ausführen geht nicht...
-
Du kannst deinUnwissen darüber, wie man ein bestimmte IDE bedient, nicht einem Buch über C anlasten. Das hat mit der Sprache nichts zu tun.
Du kannst einem alten Buch auch nicht anlasten, keine neueren Standards zu kennen.
Dass das Buch alt ist, kannst du schon am main() sehen.
Das schreibt man heute auch nicht mehr: http://www.c-plusplus.net/forum/viewtopic.php?t=39346NetBeans ist auch eine IDE und kein Compiler. Aber auch den du benutzt, kannst du auf den alten Standard einstellen.
-
DirkB schrieb:
Dass das Buch alt ist, kannst du schon am main() sehen.
Aber nicht als Anfänger.
-
Man kann es auch am Erscheinungsdatum sehen (1999).
-
Auch damals schon gab es cl.exe auf der Konsole, und damals wie heute ist das hirnverbrannter Unsinn.
-
Darum gehts doch gar nicht.
-
DirkB schrieb:
Du kannst einem alten Buch auch nicht anlasten, keine neueren Standards zu kennen.
Dass das Buch alt ist, kannst du schon am main() sehen.Als Programmier-Anfänger kenne ich die Standards nun mal nicht. Nur wer die Sprache kennt, weiß ob main() alt oder neu ist.
-
melT schrieb:
Als Programmier-Anfänger kenne ich die Standards nun mal nicht. Nur wer die Sprache kennt, weiß ob main() alt oder neu ist.
main() ist wirklich nicht mehr aktuell (wurde ja schon erwähnt ^^)
heute schreibt man int main(), das heißt:
main ist eine Funktion die ein int zurückgibt.
Glaub es gibt auch void main(), also eine Funktion die nichts zurückgibt (nichts !=0 !!!), bin mir da aber nich ganz sicher.
[an dieser Stelle danke an DirkB]Und das Erstellen einer Quelldatei in VS hat Wutz ja bereits erklärt:
Wutz schrieb:
in VS:
- neues C++ - Konsolen - Projekt
- leeres Projekt
- Hinzufügen / neue Datei / beispiel.c
- Strg+F5Beste Grüße
Lordakius
-
main
gibt immer einint
zurück.
Nur damals* wurdeint
als Rückgabewert angenommen, wenn keiner explizit angegeben wurde (bei jeder Funktion).Zu dem Prottyp von main gibt es sogar ein FAQ-Eintrag: http://www.c-plusplus.net/forum/viewtopic.php?t=39346
*Seit C99 (also seit 15 Jahren) gibt es das Verbot des impliziten int.
Aaaaaber MS unterstützt in seinem VS keinen Standard nach C89/C90. Es sei denn, es wird vom C++ Teil abgedeckt (z.B. einzeiliger Kommentar)
-
DirkB schrieb:
*Seit C99 (also seit 15 Jahren) gibt es das Verbot des impliziten int.
Aaaaaber MS unterstützt in seinem VS keinen Standard nach C89/C90. Es sei denn, es wird vom C++ Teil abgedeckt (z.B. einzeiliger Kommentar)Verständnisfrage meinerseits:
Was bedeutet 'Verbot' in diesem Zusammenhang. Wenn ich einen solchen Code(also unter Verwendung von main()) mit gcc und dem flag -std=c99 kompiliere, erhalte ich eine Warnung. Es kompiliert trotzdem. Müsste bei einem Verbot nicht der Vorgang abgebrochen werden?Oder beschreibt -std=c99 keine strikte Einhaltung des C99-Standards?
-
phf schrieb:
Oder beschreibt -std=c99 keine strikte Einhaltung des C99-Standards?
Richtig erkannt.
Dazu ist-pedantic
noch zusätzlich notwendig.
Und dass der Compiler dann auch wirklich abbricht, wird erreicht mit
-pedantic-errors
-
Habt Dank!