#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判斷式裡面的寫法 會造就不一樣的事情(這不是廢話嗎?)

譬如:

while(i){

        printf("%d\n",i--);

}

----print out 結果

while1  

結果少印一個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)

 

 


arrow
arrow
    全站熱搜

    Brian 發表在 痞客邦 留言(0) 人氣()