for(表达式1;表达式2;表达式;)分别省略表达式1,2,3都什么意思?
4个回答
展开全部
首先看到你的问题我就觉得你想进行骚操作。
(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)省略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、可有可无,一般用来设置初始值 2 判断表达式,为真继续循环,为假退出循环 3、可有可无,一般用来计算循环增量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式1:初始化;
表达式2:循环范围;
表达式3:循环增量;
表达式2:循环范围;
表达式3:循环增量;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |