c++ for循环循环体的范围

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:30:22
小弟是菜鸟,昨天刚刚开始立志钻C++,碰到个问题:
以下是我程序中的一段代码
for(i=1;i<=100;i+=1)
sum+=i;
cout<<"一百以内的正整数的和为"<<sum<<endl;……………………1

循环体不是“i+=1”吗?为什么在执行的时候sum+=1也被执行了一遍?而1语句却不被执行?

看了你的程序,指出几个问题

首先回答你的问题
1.循环体是for语句后面紧跟的一句话,就是
for() 这里是循环体;
可以用{}括起来表示多句话都是,至于i+=1当做是控制循环变量的,当然,因为c语言的强大,在这里写循环体也是可以的,但一般不推荐这么做

2.sum+=i;是循环体,碰到分号这一次循环就结束了,当然不会执行下一句

再一个,i+=1写作i++,效果一样,只不过是编程习惯问题

如果for之后不加括号,那么默认是执行for后面的紧跟的一条语句
所以for(i=1;i<=100;i+=1)
{
sum+=1;
cout<<"一百以内的正整数的和为"<<sum<<endl;
}

那么括号内的语句都会被执行
i=1:起始条件
i<=100:终止条件
i+=1:改变条件

for(i=1;i<=100;i+=1); 加分号
你直接输出i不就得了,干嘛费那二遍事

我说一下,楼上的,你们都J8没看懂题的意思和问题,还有要解答的。你们瞎回答个J8啥呢?

for语句的结构:
for(a;b;c) 循环体;
a只在循环开始前执行一次
c在每次循环体结束后执行
b在每次执行完c后计算,为零则停止循环,非零则继续循环

1.你错误在sum没初始化,一个随机数与i加,int sum=0;
2.代码不规范

for 语句的语法形式是:

for (init-statement; condition; expression)
statement

nit-statement 必须是声明语句、表达式语句或空语句。

它的计算顺序如下:
1。循环开始时,执行一次 init-statement。
2。接着,求解 condition。
3。如果条件为 t