Video: Windows 10 zeigt Bluescreen - einfache Reparatur - PC startet nicht mehr 2024
Wenn Sie in Programmiersprachen in der Sprache C einsteigen, entdecken Sie die Freuden und Dreads von endlosen oder unendlichen Schleifen. Diese Schleifen bleiben für immer bestehen, weil entweder der Programmierer vergessen hat, eine Möglichkeit zum Verlassen der Schleife einzuschließen, oder die Ausgangsbedingung einfach nicht erfüllt wird. In jedem Fall sind endlose Schleifen ein Schmerz.
Aber manchmal enthält ein C-Programm absichtlich eine Endlosschleife. Diese Art von Konstrukt mag seltsam erscheinen, aber die Basis vieler moderner Programme ist, dass sie sitzen und sich drehen, während sie darauf warten, dass etwas passiert. Die Schleife könnte so aussehen:
für (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}
Beachten Sie, dass die Bedingungen innerhalb der Klammern nach dem Schlüsselwort for fehlen, was in Ordnung ist. Das Ergebnis ist eine Endlosschleife, in der die Anweisungen nacheinander wiederholt werden: Das Programm sucht irgendwo nach Aktivität. Wenn Aktivität gefunden wird, geht das Programm los und macht etwas Interessantes. Aber die meiste Zeit sitzt das Programm einfach in dieser Art von Schleife und wartet darauf, dass etwas geschieht. (Das typische Textverarbeitungsprogramm kann Tausende dieser Schleifen ausführen, während es zwischen den Tastatureingaben während der Eingabe wartet.)
Geben Sie diesen Quellcode ein und speichern Sie ihn auf der Festplatte. Dann kompilieren Sie das Programm und führen es aus:
#include int main () {char ch; puts ("Eingabeprogramm"); puts ("Schreibe weg:"); für (;;) {ch = getchar ();} return (0);}
Ja, Sie können eingeben. Und Sie können Ihren Text auf dem Bildschirm sehen. Aber wie hörst du auf?
Um anzuhalten, müssen Sie die Endlosschleife unterbrechen, was durch Drücken von Strg + C möglich ist. Aber so wollen Sie nicht, dass Ihre Programme funktionieren. Stattdessen muss eine Exit-Bedingung für die Schleife definiert werden. Hier kommt das Schlüsselwort break zum Einsatz.
Die C-Sprachentwickler wussten, dass in manchen Fällen eine Schleife aufgrund von Bedingungen unterbrochen werden muss, die nicht vorhergesagt oder innerhalb der for-Anweisung eingerichtet werden konnten. In ihrer Weisheit haben sie das break-Schlüsselwort eingeführt.
Was break bedeutet, ist, eine Schleife sofort zu beenden (jede C-Sprachschleife, nicht nur für Schleifen). Wenn der Computer break erkennt, nimmt er einfach an, dass die Schleife beendet ist und setzt sich fort, als ob die Endbedingung der Schleife erfüllt wäre:
#include int main () {char ch; puts ("Eingabeprogramm"); puts ("Schreiben Sie weg; drücken Sie '~', um zu beenden:"); für (;;) {ch = getchar (); if (ch == '~') {break;} return (0);}
Jetzt ist eine Exit-Bedingung definiert. Der if-Vergleich in Zeile 12 prüft, ob ein ~ (Tilde) -Zeichen eingegeben wird. Wenn dies der Fall ist, wird die Schleife durch die break-Anweisung angehalten.
Ändern Sie Ihren Quellcode so, dass er dem entspricht, was gerade angezeigt wurde. Kompilieren und ausführen. Jetzt können Sie das Programm anhalten, indem Sie das Zeichen ~ eingeben.
Beachten Sie, dass die if-Anweisung auch ohne geschweifte Klammern geschrieben werden kann:
if (ch == '~') break;
Diese Zeile ist möglicherweise etwas lesbarer als die Verwendung von geschweiften Klammern.