Endlosschleife



  • #include <stdio.h>
    
    int main()
    {
    
      int zahl1=1;
    
      while(zahl1<=10)
      {
       printf ("Test\n\n");
       zahl1++;
       zahl1--;
      }
      }
    

    Praktisch läuft das Programm solange bis man es beendet oder PC ausmacht.

    Was mich interessiert, gibs vielleicht ne interne sicherheitssperre

    ( wie hier im forum ) das gegen sowas schützt?



  • Du bist selber verantworlich für das was du programmierst, so gesehen gibts keine Sicherheitssperre. Aber du kannst ja immer eine Variabele hochzählen und wenn diese einen bestimmten Wert überschreitet mit break; abbrechen, wenn du so was meinst.



  • na ok, danke 🙂



  • Lol du willst also eine art programm haben was dich vor deiner eigenen "Dummheit" schützt?.

    Krass. Der Compiler arbeitet zwar syntaktisch aber semantik ist glaube ich nicht seine Stärke (zumindest nicht soweit das er erkennt wenn du endlosschleifen programmierst).

    Wenn du hingegen diesen Fehler begehst.

    if (0 == GetLastError());

    dann wird sich der Compiler bei dir melden.

    wohingegen er dies nicht erkennt while(1);

    Also was bezweckst du damit ?



  • MEINE FRESSE DAS WAR DOCH NUR EIN KRASSES BEISPIEL!



  • Wer immer sich auch hinter dem 'f' versteckt,reiß Dich am Riemen.

    Giga



  • Das kann manchmal auch Sinn machen mit Endlosschleifen also kann der das net abfangen.
    Wenn du ein Programm haben willst das die 100 Jahre "abc" auf dem Bildschirm ausgibt(bzw irgendwelche Messwerte a.ä.) und der erkennt das dann als Endlosschleife und will nicht, na supi...

    Theoretisch könntest du so eine Prüfung einbauen indem du einen Timer mitzählen lässt der nach sobald er 1 Sekunde oder so erreicht(ohne Timer reset) hat das Programm abbricht.
    Im Programmtext setzt du den Timer dann immer wieder hübsch auf 0, aber das geht eh nur mit Multithreadding oder Interrupts, und Sinn macht es auch meistens nicht soetwas zu bauen :P.
    Einsatzgebiet wäre beispielsweise ein Programm das immer laufen muss und nach einem Neustart sofort wieder die Arbeit aufnimmt.
    Dann einfach wenn Timerüberlauf Programm neustarten(und Stelle zum debuggen merken) und fertig.



  • Ok, entschuldigung.

    Bin etwas schlecht gelaunt ( liegt wohl am Wetter ).

    Wollt das nicht an euch User auslassen.

    BiG Sorry.


Anmelden zum Antworten