此處已回答類似問題[https://stackoverflow.com/a/13421435/3276830]。作者說空循環中的更新語句
下面的代碼
for (i=0;i<5;i++);
{
printf("hello\n");
}
解釋如下:
- 重複五次
for (i=0;i<5;i++)
- ...什麼也不做(分號)
- 打開局部變量
{
一個新的範圍- ...打印 「你好」
- 關閉範圍
}
然而,對於循環
int i = 0;
for(;i++;cout<<i<<" ");
cout<<i<<" ";
輸出以下我得到的只是1
,但我預計它是123456.....
編輯,我知道前綴和後綴操作之間的區別。但是,我確實錯過了第一次循環運行時爲0。
你繼續的條件是'我++'並迅速計算結果爲0,這是falsey –
啊, 我錯過了!謝謝@NickA –
[前綴和後綴運算符有什麼區別?](https://stackoverflow.com/questions/7031326/what-is-the-difference-between-prefix-and-postfix-operators) –