看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Waterpig (waterpig)》之銘言: : ++i 是先將i指派為i+1後再將i+1的值傳出 int i, j; i= 10; j= ++i; // i= 11, j= 11 : i++ 是先傳出i值 再指派i為i+1 int i, j; i= 10; j= i++; // i= 11, j= 10 : 以上我的理解應該沒錯吧? : 我的問題在於for迴圈 : for迴圈的流程是 : ┌──假──→離開迴圈 : │ : 進入迴圈→設定記次變數起始值→測試條件式──真─→程式區段→更新計次變數 : ↑ │ : │ │ : └──────────────┘ : 這時候 for (i=0;i<=3;++i){程式區段} : 和 for (i=0;i<=3;i++){程式區段} : 兩個差別在於哪? int i, j, no; for (i= 0, j= 0;i<= 3;j= i++) {// or j= ++i no= no + i + j; // print i, j, no= ??? } // print no= ??? 這樣,就有差了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.245.110.241
Waterpig:恩...如果i 和 j有出現在程式理會有差 如果單純計次就 08/23 09:24
Waterpig:沒有差別吧? 08/23 09:24
kameng:應該這樣說:如果是獨立一句語言的話i++;++i;沒有影響 08/23 10:25
kameng:但如果你有其他的東西跟他連在一起(k=i++;cout<<++i;) 08/23 10:26
kameng:這時候放前跟放後就會有顯著的不同 08/23 10:26