C++以下程序的输出结果是()

main()
{int x,i;
for(x=0,i=1;i<3;i++,x+=i);
printf("%d\n",x);
}疑问是:for循环执行了两次i=0 i=1,那应该printf输出的是两个数呀 0 2,怎么只输出一个数2
而且这个程序我拿到6.0C++里面运行之后 结果为5?什么原因?

for(x=0,i=1;i<3;i++,x+=i);
把分号去掉即可
printf在循环外,循环结束后i=3,x=5
所以输出5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-23
for(x=0,i=1;i<3;i++,x+=i);后面有个分号,printf就只执行了一次!
给分哦~!追问

而且这个程序我拿到6.0C++里面运行之后 结果怎么为5?什么原因?

相似回答