C语言中的for循环能省去第二个表达式吗?请给出一个例子!

如题所述

可以省略,既无判断循环条件,循环无终止的进行下去。也就是认为表达式二始终为真。
例如
for(i=1;;i++) sum=sum+1;相当于
i=1;
while(1)
{
sum=sum+1;
i++;
}
循环无终止
希望对你有帮助!追问

for循环的3个语句的执行顺序是什么?

追答

先第一个语句然后第二个语句判断是否符合循环条件,符合就进入循环体,循环体运行之后执行第三个语句,然后再执行第二个语句判断是否符合循环条件,符合就进入循环体,循环体执行之后再执行第三个语句,然后第二个判断,再循环体。。。。。。之后都是这样。知道不符合语句二的控制条件,跳出循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-10
能。

那样就是个无限循环。

void main(){
for(int i=1;;i++){
if(i==100)
break;
printf("hello,world!");
}
}
第2个回答  2011-03-10

#include "stdio.h"
void main()
{
int i=0;
for(i=0;;++i)
if(i>10) break;
printf("%d\n",i);
}追问

for循环语句的执行顺序是什么?表达式1,2,3的执行顺序?

追答

先执行i=0然后空语句,然后++i

第3个回答  2011-03-10
只要保持格式就行了。
没有的内容留空就行。
for(;;)
{
}
第4个回答  2011-03-10
能,那就成了一个死循环了。如:
for(;;);