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

2022-08-06 军事 144阅读
首先看到你的问题我就觉得你想进行骚操作。
(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
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< return 0;
}
但是一般还是不要省略,有时候乱改会死机。
死机不可怕,可怕的是死机前没保存。
打字不易,给个赞吧。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com