D9: while跟 do-while的差別
我原本一直以為do-while是要判斷式成立時才會執行,但很顯然人類語言跟程式語言是有很大差別的,do-while在程式語言裡是:
int i=0;
do{
printf("Hello");
} while(i>0) ;
畢竟程式語言是一行一行讀下來的,所以會先 print 一次 Hello 後才會判斷i是否大於0,而while就不一樣了,while的程式碼是:
int i=0;
while(i>0){
printf("Hello");
}
這個 while 程式碼在判斷句的時候就已經不成立了,所以會直接跳出 while 不執行 print hello
但我學C語言到現在其實很少用到 do-while
EX.
#include <stdio.h>
#include <stdlib.h>
int main()
{ int i=0;
do{
printf("Hello");
} while(i>0) ;
while(i>0){
printf("World");
}
return 0;
}
執行結果
最後輸出只有 Hello 而沒有 World,這樣就可以看出 do-while 跟 while 的差別了