Hallo Geier,
Zitat Zitat von oberallgeier Beitrag anzeigen
b) Nach meinem bescheidenen Wissen zu C endet die Ausführung von while(1); unmittelbar nach dem Semikolon, also unmittelbar nach einmaligem Durchlauf. Dagegen werkelt die ähnliche, übliche Syntax der Dauerschleife - also while (1) {}; - theoretisch ohne Ende, unendlich, dauernd . . .
Nicht so ganz ....
Die Syntax lautet
while (Bedingung) Befehl ;

Da jeder Befehl mit einem ";" enden muss, wäre es nicht möglich mehrer Befehle in der Schlaufe auszuführen.
Mit { .... } kann man beliebig viele Befehle zu einem Bloch zusammenfassen, welche dann syntaktisch als einzelner Befehl ausgewertet werden.
C erlaubt auch leere Befehle. Somit sind

while(1);
und
while(1) {};
gleichwertig.

Überall wo in C ein Befehl stehen darf kann man mit geschweiften Klammern auch einen ganzen Block einfügen.


MfG Peter(TOO)