C的FOR问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 03:06:39
#include<stdio.h>
void main()
{
int i,sum;
for(i=1,sum=0;sum+=i++,i<=1;);
printf("%d",sum);
}
为1,是咋子执行的啊{sum+=i++,i<=1;);}没懂
程序是可以执行的,我用C-FREE执行了的

for(i = 1, sum = 0 ; sum += i++, i <= 1 ; );
在for循环的括号里,有两个分号,第一个分号之前是对变量赋初值: i = 1, sum = 0;
加在两个分号中间的是循环跳出的条件(如果在for循环的循环体里面没有break语句跳出的话): sum = += i++, i <= 1;当这个逗号表达式的值是1的时候执行,否则跳出循环.
第二个分号后没有写语句,省略了,通常在这里写的是类似于i++的语句,可是在前一语句里已经有sum += i++ 语句了,这里就不用写了.
for循环的括号外面有一个分号,这是一条空语句(不执行任何操作).

你的for循环可以改写成
for(i = 1, sum = 0; i <= 1; i++)
{
sum = sum + i;
}
请你自己好好理解吧.

你还是先去看看for的语法吧, 你这语句怎么写都乱套着呢

写这种程序的人找抽。
return8023 正解。

你写的好像有语法错误,请仔细检查后纠正。