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 的差别了