main() {int s,i; for(s=0,i=1,i<3;i++,s+=i); printf("%d\n",s); } 请问输出结果是什么,还有原因哦……

如题所述

输出是5。因为s初值是0,而s+=i在i++之后,所以循环过程是i==1和i==2,但加到s上的是2和3,所以最后得s是5。不过for的()中有错误,i=1后应该是分号而不是逗号,否则编译都过不了的……
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-01
// 你好,你的程序有点乱,我稍微修改了下,程序最后输出结果为 3 。
#include<stdio.h>
main()
{
int s=0,i;//定义变量s初始值为0,定义循环变量i;
for(i=1;i<3;i++); //for循环,i从1开始,每次增加1,i小于3时退出循环。
{
s+=i;// 计算s=s+i;
printf("%d\n",s);//输出计算结果s,%d是输出十进制整数。
}
}本回答被提问者采纳
第2个回答  2011-08-30
你先检查下程序的分号是不是有几个标错了
for(;;),你的少个分号
for(s=0,i=1,i<3;i++,s+=i);
而且你确定for()后面有这个;吗追问

s=0,i=1; i<3; i++,s+=i

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网