das verwirrt nicht wirklich.
wenn du die "main" zu "void" machst ("void main(egal_was_hier_ist)"), dann kannst du keinen wert zurueck geben, sprich auch keinen 0er, was du aber durch "return 0;" machen wuerdest. willst du einen wert zurueck geben, dann muszt du eben main so deklarieren. "0" ist ein integer => "int main(egal_was_hier_ist)".
ein bissl klarer geworden?
[edit]
"return;" alleine kannst du auch in void-funktionen verwenden, das ist erlaubt. zum beispiel um sie vorzeitig zu verlassen:
Code
void myfunc()
{
if (fucked_up)
{
return;
}
else
{
//do the magic
}
return; //brauchst du nicht umbedingt
}
Alles anzeigen
[/edit]