[語法] 想請教單行for迴圈的問題 sum+=i++

看板C_and_CPP (C/C++)作者時間15年前 (2010/08/07 01:04), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
#include <iostream> using namespace std; int main() { int i,sum=0, sum1=0; for (i=1;i<=10;sum+=i++) { sum1+=i; cout<<"i="<<i<<"\tsum="<<sum<<"\tsum1="<<sum1<<endl; } cout<<"sum="<<sum<<endl; system("PAUSE"); return 0; } 想請教一下,在{}裡的 sum 值為何只到45,但在{}外是55? 如果想在 for(;;) 裡面就把式子寫完,是否得換成 for (i=1,sum=1;i<=10;i++,sum+=i) 這樣才行?原先的敘述語意究竟是哪有問題? 謝謝指教! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.137.90

08/07 01:08, , 1F
因為最後一次有加10
08/07 01:08, 1F

08/07 01:19, , 2F
你要再弄懂for裡面3個stmt的執行時間...
08/07 01:19, 2F
文章代碼(AID): #1CN42dX9 (C_and_CPP)
文章代碼(AID): #1CN42dX9 (C_and_CPP)