Zum Inhalt springen

Empfohlene BeitrÀge

Geschrieben

WĂŒrdet ihr sagen, dass folgende Schleife eine Endlosschleife ist?


    int x = 5;


    while ( x > 1) {

       x++;    

    }

Ich habe ein bisschen gegooglet und als Beschreibung fĂŒr eine Endlosschleife immer nur folgende Aussage gefunden:

Endlosschleifen in der Informatik sind Schleifen, die nach jeder Abarbeitung erneut abgearbeitet werden
Zitat von Wikipedia

Diese Schleife wird jedoch nicht erneut abgearbeitet, sondern sobald int x die grĂ¶ĂŸte speicherbare Zahl erreicht hat, springt er aus der Schleife raus und arbeitet den Rest des Programms ab.

Grund meiner Frage: Ich habe in der Klausur geschrieben, dass dies eine Endlosschleife sei, da die Bedingung der While immer erfĂŒllt ist.

Wenn ich jetzt so drĂŒber nachdenke, stimmt meine Aussage nicht :(

Geschrieben
Diese Schleife wird jedoch nicht erneut abgearbeitet, sondern sobald int x die grĂ¶ĂŸte speicherbare Zahl erreicht hat, springt er aus der Schleife raus und arbeitet den Rest des Programms ab.
Streng genommen ist das Verhalten dieses Codes nicht definiert. Der Standard sagt nichts darĂŒber aus, was bei einem Integer-Überlauf passiert.

Praktisch wird es aber so sein, dass x nach Erreichen des grĂ¶ĂŸten darstellbaren int-Wertes einen negativen Wert annimmt und damit die Schleife beendet wird.

Eine Endlosschleife ist das also nicht.

Geschrieben
Es ging doch um eine Endlosschleife ? :rolleyes:

Es ging entweder darum, eine Endlosschleife selbst anzugeben, oder bei einer vorgegeben Schleife zu ermitteln, ob es eine Endlosschleife ist, das geht aus Sassys Beschreibung nicht klar hervor. Ein formaler Beweis war vermutlich nicht gefragt.

Geschrieben

Sorry dass ich mich undeutlich ausgedrĂŒckt habe ^^.

Die Frage war, was fĂŒr Probleme bei der angegebenen Schleife auftreten, bzw. was daran falsch sei. (Wörtlich weiss ich es leider nicht mehr.)

Da hab ich halt geantwortet, dass es eine Endlosschleife sei, bin mir jetzt im Nachhinein aber nicht mehr sicher, ob das ĂŒberhaupt richtig ist ;)

Geschrieben

Da hab ich halt geantwortet, dass es eine Endlosschleife sei, bin mir jetzt im Nachhinein aber nicht mehr sicher, ob das ĂŒberhaupt richtig ist ;)

Ich hÀtte da eine sehr ausformulierte Antwort gegeben:

Logisch ja, technisch nein
Geschrieben

Wie Klotzkopp gesagt hat ist das nicht festgelegt was passiert.

Das heißt das kommt drauf an wie der jenige der die Klausur bewertet das sieht. Aber da er die Frage ĂŒberhaupt gestellt hat und ich jetzt einfach mal nicht davon ausgehen wĂŒrde das er sich da tiefer mit dem C Standard befassen wollte, denke ich das die Antwort ok sein sollte ;)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die grĂ¶ĂŸte IT-Community
rund um Ausbildung, Job, Weiterbildung fĂŒr IT-FachkrĂ€fte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard fĂŒr Fachinformatiker und IT-FachkrĂ€fte

×
×
  • Neu erstellen...