二级c语言求输出的是什么,为什么
main()
{
int t=0,s=0,i;
for(i=1;i<=5;i++)
{
t=i+;
s=s+t;
}
printf("s=d%\n",s);
}
追问:所以我就觉得很奇怪,不懂嘛,他的选项也很奇怪我们老师很水啊我也不知道,我照抄题目的,我也觉得有误敲过了,但是有错误不会改
答案:您的意思是:
include<iostream>
using namespace std;
int main()
{
int t=0,s=0,i;
for(i=1;i<=5;i++)
{
t=i++;
s=s+t;
}
printf("s=%d\n",s);
return 0;}
这个最后输出s=9;
我的解释:
第一次,i=1,1<=5 真,开始for循环t=i++,这里关键是用了后置递增i++,所以i的值现在为2,但i++依然为1,所以t=1 s=1。
又因为for(i=1,;i<=5;i++)所以i的值为3,3<=5 为真,开始for循环t=i++,现在i的值为4,但i++依然为3,所以t=3 s=4。
又因为for(i=1,;i<=5;i++)所以i的值为5,5<=5 为真,开始for循环t=i++,现在i的值为6,但i++的值依然为5,所以t=5 s=9。
又因为for(i=1;i<=5;i++)所以i的值现在为7,7<=5 为假,不执行for循环,直接就printf("s=%d\n",s); ,所以s=9。
看懂就给我分吧!
其他:t=i+;错了吧,是不是t=i++; 14 中间的t=i+;你打错了。函数名怎么没有类型啊?如果是int,最后应该加return 多少; ,如果没有返回值要加void型 15 运行下,报错了!应该改为main()
{
int t=0,s=0,i;
for(i=1;i<=5;i++)
{
t+=i;
s=s+t;
}
printf("s=d%\n",s);
}
结果=15
上一个:c语言编程出错,求改正 题目是:恭喜发财 利是窦来 百度一下第二个即是 急求!
下一个:c语言:打开文件