/*while2.c程序->注意分號的位置*/
1 #include<stdio.h> 2 int main(void) 3 { 4 int n=0; 5 6 while(n++<3); 7 printf("n is %d\n",n); 8 printf("That's all this program does.\n"); 9 10 return 0;11 }
該程序的輸出如下:
n is 4
That's all this program does.
循環執行完測試條件後面的第一條語句時(簡單或者是複雜語句)后進入下一輪迭代,知道測試條件爲假才會結束。在第六行中while語句後面有一個“;”,循環在此進入下一論迭代,因爲單獨一個分號被視爲一條語句。雖然n的值在每次循環時都遞增1,但第7行的語句不是循環的一部分,所以只會打印一次循環結束後的n值。
在該例中,測試條件後面的單獨分號是空語句(null statement),它什麽也不做。在
;/*跳過整行輸入*/ 只要scanf()讀取一個證書,就會返回1,循環會繼續執行。注意,爲了提高代碼的可讀性,建議吧“;”單獨放在一行,不要直接放在測試表達式同行,一方面是爲了代碼清晰可讀,一方面也是告訴讀者是有意而爲之。