Ausbrechen aus einer Endlos-Schleife in Ihrem C-Language-Programm

Wenn Sie in die Programmierung Schleifen in der C-Sprache zu erhalten, entdecken Sie die Freuden und Dreads von endlosen oder unendlich, Schleifen. Diese Schleifen weiterhin für immer, weil entweder der Programmierer einen Weg zu schließen vergessen von der Schleife zu verlassen oder die Exit-Bedingung ist nur nie getroffen. So oder so, Endlosschleifen sind ein Schmerz.

Aber manchmal ein C-Programm enthält eine Endlosschleife mit Absicht. Diese Art von Konstrukt mag seltsam erscheinen, doch ist die Grundlage vieler moderner Programme ist, dass sie sitzen und Spin, während sie warten, bis etwas passiert. Die Schleife kann wie folgt aussehen:

für (-) {check_Keyboard () - check_Mouse () - check_Events () - check_System () -}

Beachten Sie, dass die Bedingungen in den Klammern nach dem für Stichwort fehlen, was in Ordnung ist. Das Ergebnis ist eine Endlosschleife, in der die Anweisungen wiederholt überprüft werden, eine nach der anderen: Das Programm wird irgendwo nach Tätigkeit sucht. Wenn Aktivität gefunden wird, geht das Programm ab und tut etwas interessant. Aber die meiste Zeit sitzt das Programm nur in dieser Art von Schleife und wartet darauf, dass etwas passiert. (Der typische Textverarbeitungsprogramm kann Tausende dieser Schleifen auszuführen, wie es zwischen Tastatureingaben wartet, wie Sie schreiben.)

Geben Sie diesen Quellcode und speichern Sie sie auf die Festplatte. Dann kompilieren und das Programm aus:

# include int main () {char ch-puts ( "Typing Program") - puts ( "Geben Sie weg:") - für (-) {ch = getchar () -} return (0) -}

Ja, können Sie eingeben. Und Sie können Ihren Text auf dem Bildschirm zu sehen. Aber wie stoppen Sie?

Zu stoppen, müssen Sie die Endlosschleife zu brechen, die durch Drücken von Strg + C durchgeführt werden kann. Aber das ist nicht die Art, wie Sie Ihre Programme arbeiten wollen. Stattdessen muss eine Ausgangsbedingung für die Schleife definiert werden, die ist, wo das Unterbrechung Stichwort ins Spiel kommt.

Die C-Sprache Entwickler wussten, dass in einigen Fällen muss eine Schleife basierend auf Bedingungen gebrochen werden, die nicht vorhergesagt werden könnte oder in die Einrichtung für Erklärung. Also, in ihrer Weisheit, sie führte die Unterbrechung Stichwort.

Was Unterbrechung tut, ist sofort eine Schleife (jede Sprache C-Schleife zu beenden, nicht nur für Schleifen). Wenn der Computer sieht Unterbrechung, nimmt nur, dass die Schleife durchgeführt wird und weiter, als ob die Endbedingung der Schleife erfüllt wurde:

# include int main () {char ch-puts ( "Typing Program") - puts ( "Type Auswärts- drücken '~' zu beenden:") - für (-) {ch = getchar () - if (ch = = '~') {break -}} return (0) -}

Nun wird eine Ausgangsbedingung definiert. Das ob Vergleich in 12 überprüft Linie, um zu sehen, ob ein ~ (Tilde) Zeichen eingegeben wird. Wenn dem so ist, wird die Schleife durch die angehalten Unterbrechung Erklärung.

Ändern Sie den Quellcode, so dass es passt, was gerade gezeigt. Kompilieren und Ausführen. Nun können Sie das Programm anhalten, indem Sie die Zeichen ~ eingeben.

Beachten Sie, dass die ob Anweisung kann auch ohne die Klammern geschrieben werden:

if (ch == '~') Break-

Diese Linie kann ein bisschen besser lesbar als die Verwendung von Klammern sein.

Menü