此篇文章是为了解决此题:
int k;
for(int i=0; i<10;i++, k+=i);
cout<<k;
第一反应输出的是45,然而正确答案是55
解析:
for循环的运算机制
- 首先执行
int i=0
- 之后执行
i<10
,结果为true则执行{}中的代码,反之结束循环- 运行完{}中的代码后执行
i++
- 第三步结束后进入下一次循环
由此可见,在上边的问题中第十次循环最后会执行i++, k+=i
因此k的值为55
如果写成以下代码,k的值才是45
int k;
for(int i=0; i<10;i++){
k += i;
}