Programm soll neugestartet werden

Hashimura

Grünschnabel
Hallo leute,
ich wollte in einer if schleife abfragen ob die Zahlen gleich sind, wenn ja soll er das ganze programm neustarten, wenn nein soll er normal laufen.

CSS:
if(Zahl1 == Zahl2)
{
      Programm soll neu gestartet werden
}
else
{
     Hier ist das Programm
}

könnt ihr mir weiter helfen ?

Gruss Hashimura :)
 

cwriter

Erfahrenes Mitglied
Hi

ich wollte in einer if schleife abfragen ob die Zahlen gleich sind, wenn ja soll er das ganze programm neustarten, wenn nein soll er normal laufen.
Das gibt es nicht - zumindest nicht in Reinform. Ein Programm kann sich selbst nicht neu starten - Genau genommen kann nur das Betriebssystem selbst Prozesse starten*.
Es gibt in C den kleinen Hack, den man "goto" nennt.
Also z.B.
C:
int main(int argc, char* argv[])
{
    start:

    //....
    goto start;
    //...
}
Damit springt man einfach zum angegebenen Label. Eine schönere Variante ist eine einfache Schleife (intern ist es sogar mehr oder weniger dasselbe wie ein goto.
C:
int main(int argc, char* argv[])
{
    while(/*...*/)
    {
        if(zahl1 == zahl2) continue;
        else /**/;
    }

}

Aber beide Varianten führen dazu, dass das Programm nicht ganz frisch ist: Variablen werden in der Regel nicht zurückgesetzt (ausser natürlich, sie sind im entsprechenden Scope).

Gruss
cwriter
*: Stimmt auch wieder nicht so ganz, aber fast