for(表达式1;表达式2;表达式;)分别省略表达式1,2,3都什么意思?

如题所述

首先看到你的问题我就觉得你想进行骚操作。
(1)省略1是可以的,但是需要在for语句之前定义变量。如:
int i=0;
for(;i<10;i++){};
(2)省略2会死循环,2是判断条件,为假的时候退出循环。省略会默认判断一直为真,循环一直进行。这个时候可以在for循环内手动终止循环。
for(int i=0;;i++){……(前面想写什么程序自己写)
if(i>=10)break;}(break可以用来终止循环,就是如果括号内为真就退出for循环,这就是手动终止)
(3)省略3会死循环,因为没有3的话,每次循环后变量i不会增加,那么判断条件2会一直为真,循环无限进行。但是也可以在for循环内部进行手动添加。
我写了个小程序,用来求m的质因数之和,比如12=3*2*2,质因数和为7。
我们的替代for循环第3条语句的就是else后面的语句。
这样写程序有一个好处,就是当if语句判断为真的时候,t的值不会变化,循环会一直进行,直到if语句判断为假,t的值才会增加,当t的值增加到比m大时就结束循环。

总的来说就是可以保证for循环进行时的一部分阶段t的值不变,循环仍然可以进行。

#include<iostream>
using namespace std;
int main(){
int m=10,sum=0;
for(int t=2;t<=m;){//省略表达式3时则必须保证循环过程中不会死循环
if(m%t==0){
sum+=t;
m/=t;
}
else t++;}
cout<<sum;
return 0;
}
但是一般还是不要省略,有时候乱改会死机。
死机不可怕,可怕的是死机前没保存。
打字不易,给个赞吧。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-11
表达式1是进入第一次for循环之前运行了,并且只会执行一次
表示式2是for循环的执行条件,满足这个条件后才能进入循环里面的语句
表达式3是在执行一次循环后执行的语句
比如
for(i=0;i<5;i++)
{
a=4;
}
i=0只在第一次执行
i<5则是判断是否继续循环,为真则继续循环
,为假则循环结束
i++就是每次执行完大括号里面后执行的语句
如有帮助,请采纳本回答被提问者采纳
第2个回答  2015-01-08
1、可有可无,一般用来设置初始值 2 判断表达式,为真继续循环,为假退出循环 3、可有可无,一般用来计算循环增量
第3个回答  2018-09-03
表达式1:初始化;
表达式2:循环范围;
表达式3:循环增量;
相似回答