//C语言for循环中的三个表达式
for 循环中的“表达式1(初始化条件)”、“表达式2(循环条件)”和“表达式3(自增或自减)”都是可选项,都可以省略(但分号;必须保留)。
//3个表达式可以同时省略
for( ; ; ); "√" // 不需要空格,空格只是为了让大家能看得更加清晰
"for( ; ; )语句 相当于 while(1) 语句"
"表达式一:"
//举例: 修改咱们刚刚的 从1加到100的程序代码
-
#include<>
-
int main()
-
{
-
int i=1,sum=0; //注意,刚刚i是没用赋予初始值的,但是这边i赋予初始值为1
-
for(;i<=100;i++)
-
{
-
sum+=i;
-
}
-
printf("%d\n",sum);
-
return 0;
-
}
//这么写也是对的噢!
"表达式2:"
//省略了“表达式2(循环条件)”,如果不做其它处理就会成为死循环。
-
#include<>
-
int main()
-
{
-
int i,sum=0; //注意,刚刚i是没用赋予初始值的,但是这边i赋予初始值为1
-
for(i=1; ;i++) //本段程序 省略了“表达式2(循环条件)” 直接成死循环,因为他都不知道i被限制的条件是多少!!
-
{
-
sum+=i;
-
}
-
printf("%d\n",sum);
-
return 0;
-
}
//相当于
-
#include<>
-
int main()
-
{
-
i=1;
-
while(1){
-
sum=sum+i;
-
i++;
-
}
-
}
"这边说明一下死循环"
所谓死循环,就是循环条件永远成立,循环会一直进行下去,永不结束。
死循环对程序的危害很大,一定要避免。
"表达式3"
// 省略了“表达式3(自增或自减)”,就不会修改“表达式2(循环条件)”中的变量,
// 解决办法: 在循环体中加入修改变量的语句。
//原本程序段
-
for( i=1; i<=100; ){ //第三个表达式被省略了
-
sum=sum+i;
-
}
//经过修改
-
for( i=1; i<=100; ){
-
sum=sum+i;
-
i++;//在循环体中加入修改变量的语句。
-
}
//省略了“表达式1(初始化语句)”和“表达式3(自增或自减)”
-
for( ; i<=100 ; ){
-
sum=sum+i;
-
i++;
-
}
//相当于
-
while(i<=100){
-
sum=sum+i;
-
i++;
-
}