Textausgabe in Großschrift klappt nicht?



  • DarkAngel schrieb:

    void main(void)
    ...
    

    Was mach ich nur falsch?

    abgesehen von void main? Denn das ist bereits eine Katastrophe, es heißt nämlich int main!



  • Moin,

    GRRR wie oft den noch?
    Es stand so im Tut wen es jemandem nicht passt soll er sich dort beschwären. oder erklärt mir wenigstens was der unterschied ist.

    Thx
    DarkAngel



  • @DarthZiu: np 😉

    @DarkAngel:
    Der Unterschied ist einfach, dass die Norm "int main()" und eben nicht "void main()" vorschreibt:
    http://www.c-plusplus.net/forum/viewtopic.php?t=39346

    Wenn dein Tut was anderes sagt ist das schlichtweg falsch!



  • @DarkAngel

    Der Grund ist einfach der, dass ein C/C++ Prog einen Rückgabewert haben muss (sollte), den du in deinem Code-Beispiel nicht hast. Der korrekte Rahmen sieht IMHO so aus:

    int main(int argc, char *argv[])
    {
        return ZAHL;
    }
    

    Wobei ZAHL eine 0 ist, wenn das Programm korrekt ausgeführt wurde. Wenn es nicht korrekt ausgeführt wurde ist ZAHL eine Zahl ungleich 0.

    Gleich noch zur Erklärung:

    int argc - (Anzahl der Argumente, mit der das Programm aufgerufen wurde) + 1,
    weil das Programm ansich auch als Argument interpretiert wird

    char *argv[] - Array mit Zeigern auf die Argumente, die beim Aufruf mitgegeben
    werden.



  • DarkAngel schrieb:

    Moin,

    GRRR wie oft den noch?
    Es stand so im Tut wen es jemandem nicht passt soll er sich dort beschwären. oder erklärt mir wenigstens was der unterschied ist.

    Thx
    DarkAngel

    Es steht auch in so manchem C-Buch mit void drin. Deswegen ist es auch falsch. Die meisten Compiler akzeptieren auch kein void main()!

    Sinn der Sache ist, dass das Programm einen Code zurückgibt, der besagt, ob das Programm erfolgreich oder fehlerhaft durchgelaufen ist. Schließlich will der Aufrufer ja wissen, ob das Programm erfolgreich ausgeführt werden konnte. Und der Aufrufer muss nicht immer eine Person sein ;).



  • Moin,

    Also das mit dem void main(void) habe ich jetzt verstanden, aber ich frage mich warum in so vielen tutorials sowas falsche gemacht wurde?
    Ich habe nämlich jetzt ein anderes Tut und da heißt der befehl so void main()?
    Das müsste ja eigentlich auch falsch sein.

    Thx
    DarkAngel



  • DarkAngel schrieb:

    Das müsste ja eigentlich auch falsch sein.

    Ist es auch.



  • Viele Compiler meckern halt nicht rum wenn main vom Typ void ist... Das ist wohl das größte Problem... Jedenfalls müsste ein Normkonformer Compiler eine Fehlermeldung ausspucken! 🙂



  • DarkAngel schrieb:

    Moin,

    Also das mit dem void main(void) habe ich jetzt verstanden, aber ich frage mich warum in so vielen tutorials sowas falsche gemacht wurde?
    Ich habe nämlich jetzt ein anderes Tut und da heißt der befehl so void main()?
    Das müsste ja eigentlich auch falsch sein.

    Thx
    DarkAngel

    Es ist ja auch falsch. Wie Splieth schon sagt, das Hauptproblem ist wohl, dass gewisse Compiler nicht meckern, wenn jemand void main() schreibt.
    Warum das in so vielen Tutorials steht? Naja du musst bedenken, dass so gut wie jeder ein Tutorial schreiben kann. Nur weil jemand ein Tutorial schreibt, muss das ja nicht heißen, dass er der absolute Profi ist.
    Wobei man das mit dem void main() eigentlich als Kleinigkeit ansehen kann. Bei den meisten Tutorials gehts ja um was anderes ;).
    Wichtig ist, dass du was dabei lernst (z. B. auch, dass Tutorial-Autoren auch mal Fehler machen können ;)).



  • Moin,

    Naja, also ich finde wen man schon ein Tut schreibt und dann auch noch auf ein recht gut bestücktes C\C++ Forum stellt ist es doch zu erwarten das man wenigstens den Code richtig schreibt. Also ich denke 150 mal einen Fehler machen geht zu weit. 🙂 . Aber ist ja auch egal. 😃

    Thx
    DarkAngel


Anmelden zum Antworten