線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1034
推到 Plurk!
推到 Facebook!

for迴圈執行問題

答題得分者是:blk5743
syao
初階會員


發表:66
回覆:63
積分:25
註冊:2005-02-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-04 10:11:51 IP:59.104.xxx.xxx 未訂閱
    #include 
#include     int main()
{
    
    for(int i=0;i<1;  i) //這邊改成 i   &   i好像結果都是一樣
    
    printf("%*d",10,i);
            
    
    system("pause");
    return 0;    
    
}    for迴圈第一次執行是先在初始值再判斷終止條件後就執行執行嗎?不經過i  或是  i    之後for是只做終止條件判斷&i  或是  i嗎??不再經過初始值是嗎??    這樣我測試後的結果...如果有不對地方麻煩更正我的錯誤    
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-04 10:19:15 IP:59.104.xxx.xxx 未訂閱
for(int i=0;i<1; i) //這邊改成 i & i好像結果都是一樣 你希望它跑幾次?
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-04 10:27:35 IP:211.20.xxx.xxx 未訂閱
在 For 迴圈中沒有差別 因為被用來判斷的是中間那個欄位 i<1 而不是 i 或 i 它們是在判斷完以後才做的事 除非你寫成 for(int i=0;i <1;i ) OR for(int i=0; i<1;i ) 就會有差別
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-04 10:35:44 IP:61.66.xxx.xxx 未訂閱
syao你好    你可以把你的範例看成while迴圈應該比較容易懂他的原理
     for (int i = 0; i < 1;   i)
{
    printf("%d",i);
}
第一個句子是設定初始值
第二個句子是離開的條件
第三個句子是做完{}內的事後,要再做什麼動作    其實就是
int i = 0;
while(i < 1)
{
    printf("%d",i);
      i;所以在這裡用  i及i  都沒差別
}
syao
初階會員


發表:66
回覆:63
積分:25
註冊:2005-02-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-04 10:56:52 IP:59.104.xxx.xxx 未訂閱
    感謝blk5743 & folkchen解答     還有一個問題請教blk5743    for(初始值;離開的條件;做什麼動作i  之類)
{
執行內容述敘
}        它執行順序是先"初始值"--->"離開的條件"-->"{執行內容述敘}"--->"在做i  之類動作"--->"離開條件"--->{執行內容敘述}    是只有第一次需要用到初始值嗎???之後直到離開for迴圈都不要在經過初始值是嗎??    我用英文來表示for從開始到離開的執行順序你看看有沒有錯    A:初始值
B:離開的條件
C:做什麼動作i  之類
D:執行內容述敘    for(A;B;C)
{
   D
}    A-->B-->D-->C-->B-->D-->C-->直到迴圈結束    謝謝    
發表人 - syao 於 2005/04/04 11:05:35
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-04 11:34:49 IP:59.104.xxx.xxx 未訂閱
你寫個 [code] int i; for (i = 0; i < 5; i ) { printf("%d\n", i); } printf("out for i=%d\n", i); 你來觀察它發生什麼事。 然後。你再寫個 i 看這兩個有什麼不同。 這樣應會比較清楚。 比你用 i < 1 還要清楚。
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-04 13:55:01 IP:61.66.xxx.xxx 未訂閱
它執行順序是先"初始值"--->"離開的條件"-->"{執行內容述敘}"--->"在做i++之類動作"--->"離開條件"--->{執行內容敘述} 書上是這樣寫,實驗也是這樣,上面我寫的while範例應該很清楚 是只有第一次需要用到初始值嗎???之後直到離開for迴圈都不要在經過初始值是嗎?? 既然是設定初始值,當然只執行一次
系統時間:2024-05-19 12:27:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!