naja, mich hats halt gewundert, ich meine mich erinnern zu können, dass void main(void){} automatisch vom compiler letzlich in int main(void){return 0;} übersetzt wird.
allerdings ist diese erinnerung nicht sehr deutlich, und das war ca 2005,... ^^
Das kann sogar sein, nur wird dann ja immer 0 returnt
Das kann sogar sein, nur wird dann ja immer 0 returnt
Warum wird 0 returned, wenn void zu int "umgewandelt" wird?
Ich dachte bei void wird garnix returned. Oder ist es nicht so, dass man
bei der main nie returnen muss, weil - sofern nix anderes returned wird - immer 0 returned wird?
Warum wird 0 returned, wenn void zu int "umgewandelt" wird?
Auch wenn die main() als void definiert ist, wird trotzdem ein int (in dem Fall 0) zurückgegeben.
Eben weil es der Standard so verlangt und der Compiler deinen "Fehler" einfach mal behebt.
Quote:
Originally Posted by FooFightah
Ich dachte bei void wird garnix returned. Oder ist es nicht so, dass man
bei der main nie returnen muss, weil - sofern nix anderes returned wird - immer 0 returned wird?
So ist es, aber es gehört (wie schon gesagt) zu einem guten Stil, die main() als int zu deklarieren und auch einen Wert (normal 0) zurückzugeben.
Auch wenn die main() als void definiert ist, wird trotzdem ein int (in dem Fall 0) zurückgegeben.
Eben weil es der Standard so verlangt und der Compiler deinen "Fehler" einfach mal behebt.
So ist es, aber es gehört (wie schon gesagt) zu einem guten Stil, die main() als int zu deklarieren und auch einen Wert (normal 0) zurückzugeben.
Aber 0 steht doch für false oO
Warum wird dann bei jeder main false returned?