Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.04.2012, 20:17

Was bringt return 0; ?

Hallo
Ich habe ein bisschen rumprobiert und wollte fragen was eigentlich das return 0; bringt. Weil ich habe es einfach mal weggelassen und es hat nichts an dem Programm geändert also bisher weis ich, dass return 0; einen Wert an die main Funktion zurückliefert aber was bringt das? Ich habe auch mal return 1; geschrieben und es ist nichts passiert.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

25.04.2012, 20:20

Ließt du zur Zeit ein Buch übers programmieren? Wenn ja, dann einfach weiterlesen bis du beim Thema Funktionen bist. Da sollte es dann um Rückgabewerte gehen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

birdfreeyahoo

Alter Hase

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

3

25.04.2012, 20:23

Ich denke er meint, was das für Auswirkungen auf das Programm hat. Normalerweise gibt man 0 bei Erfolg zurück und bei Misserfolg was anderes (z.B. 1 oder -1)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

25.04.2012, 20:40

Er schreibt an die Mainfunktion. Daraus schließe ich, dass er nicht die Mainfunktion selbst meint. Nichts desto trotz sollte ein gutes Buch auch darauf eingehen, warum man das bei der Mainfunktion so macht.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

5

25.04.2012, 20:41

Ja ich bin grad beim Thema Funktionen angekommen und da steht, dass jetzt um das Thema return 0; alles geklärt wäre aber irgendwie hab ich das nicht verstanden weil selbst wenn ich return 1 schreib passiert nichts anderes.

6

25.04.2012, 20:58

Ja, es wird sich auch nichts an deinem Programm ändern, wenn du nicht mit diesem Rückgabe Wert (z.B return 1 -> 1 ist dein Rückgabe Wert) arbeitest.

Bevor ich unnötig viel schreibe, welches Buch liest du?

Edit:
Oops, es geht also um das return in der Main Funktion...
Na dann, haben die unter mir ja schon alles jesagt!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Jack« (25.04.2012, 21:16)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

25.04.2012, 21:02

Wenn du das return nicht in die letzte Zeile schreibst wirst du einen Unterschied bemerken. Das return bewirkt, dass die Mainfunktion verlassen und damit das Programm beendet wird.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

25.04.2012, 21:04

Vom Prinzip her ist die Mainfunktion von deinem Programm ja nichts anderes als eine Funktion. Wenn du dein Programm nun startest dann wird genau diese Funktion von deinem Betriebssystem aufgerufen. Dein Programm macht was es soll und liefert am Ende einen Wert zurück. Das könnten jetzt zum Beispiel wichtige Daten für andere Programme sein. Damit könntest du dann deine Programme verschachteln und so Werte hin und her reichen. Im Normalfall werden diese Rückgabewerte aber dafür benutzt um mitzuteilen, ob dein Programm richtig abgelaufen ist, oder ob irgendwelche Fehler aufgetreten sind. Wenn alles gut ist, gibt man normalerweise 0 zurück. Wenn irgendein Fehler aufgetreten ist, gibt man irgendeinen anderen Wert zurück. Je nach Wert kann man dann verschiedene Fehlertypen festlegen. Zum Beispiel könntest du sagen, wenn dein Programm zu wenig Arbeitsspeicher bekommt und deswegen abbrechen muss, lieferst du die Zahl 13 zurück. Wenn der Benutzer dein Programm aus der Konsole startet und am Ende die 13 zurück gegeben wird, dann kann er daraus schließen, was das Problem war. Das ist jetzt alles nur grob und stark vereinfacht erklärt. Im Prinzip musst du davon auch keine Ahnung haben.
Mein Tipp, lern einfach weiter und dann kommt auch dieses Wissen vermutlich mit der Zeit.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

9

25.04.2012, 21:07

EDIT: Mist, da war wer schneller :D

Du kannst das return auch als "Ergebnis" der Funktion sehen ;)

Ein kleines Beispiel

C-/C++-Quelltext

1
int zahl = deineFunktion();


Wenn nun deine Funktion return 2; zurückgibt, nimmt zahl den Wert 2 an.

Der Returnwert aus der main-Funktion wird an das OS geschickt ( 0 sagt dem OS, das Programm wurde erfolgreich asugeführt ;) )
"Wer Angst hat, dass ihm seine Ideen geklaut werden, der scheint nicht viele zu haben. "

foreach

Frischling

Beiträge: 87

Beruf: Student

  • Private Nachricht senden

10

25.04.2012, 21:32

0 sagt Windows, dass das Programm korrekt beendet wurde.
EXIT_SUCCESS aus stdlib.h sagt jedem Betriebssystem, dass das Programm korrekt beendet wurde.

Werbeanzeige