#include<stdio.h>
#include<stdlib.h>
int main(void){
int down,i ;
down=0; //initial value
i=0; //initial value
scanf("%d",&down);
i=x ; //x value deliver to i (要寫在scanf下一行)
while(i>=0){ // i一開始為輸入的x值,結果為真,則進入迴圈
printf("%d\n",i--); //印出i值之後 -1 在進下一次迴圈
} //直到 i 被減至>=0(左式一樣為真)
} //print 印出 i 之後 -1 當要在一次的進入while loop時
//發現 i 已經變 -1 了,因此判斷式不符合(false)
//跳出迴圈.
print out 結果:
有個小問題是
while判斷式裡面的寫法 會造就不一樣的事情(這不是廢話嗎?)
譬如:
while(i){
printf("%d\n",i--);
}
----print out 結果
結果少印一個0 (因為x值傳給 i,進入迴圈直到 i=1 在執行裡面的迴圈程式一次
然後 i 印出 再 -1 ,i變0 在執行到while 發現 while(i) 是 0,while為0表示(false)
因此,會跳出此迴圈,即不再印出 i (也就是0這個digit) 所以畫面才會少一個0.
有個小備註:如果是要從一個變數印回到0 那麼一開始盡量把 i 設0 (顧名思義呢,就是設一個initial value)
留言列表