中易网

C语言for语句

答案:4  悬赏:60  
解决时间 2021-12-22 01:51
for语句()中三个表达式是不是都是可选项?比如第一个赋初值的?
比如下段代码,这样运行无输出,但是如果在for语句()中赋初值,就可以正常运行,求解~~!

#include void main()
{
int m=1,n=1,a,b;
int gcd(int,int);

for(;m<=667;m++)for(;n<=667;n++){
a=gcd(m,n);b=m*n/a;

if (m+n==667&&b/a==120)printf("%d,%d\n",m,n);
}
}

int gcd(int m,int n){
int max,min,mo;
if(m>=n){
max=m;min=n;}
else {
max=n;min=m;}
do{
mo=max%min;
max=min;
min=mo;
}while(mo!=0);
return max;
}
最佳答案
for中三个语句都是可以省略了
例如
for(; ;)
这样的写法也是正确的。

你的上面是双重循环,如果第二个赋初值提出来放在 第一个for循环上面 和 放在第二个for中赋初值是不相同的。

关键看你想要的是什么?
全部回答
1) for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项, 即可以缺省,但“;”不能缺省。 2) 省略了“表达式1(循环变量赋初值)”, 表示不对循环控制变量赋初值。 3) 省略了“表达式2(循环条件)”, 则不做其它处理时便成为死循环。 例如: for(i=1;;i++)sum=sum+i; 相当于: i=1; while(1) {sum=sum+i; i++;} 4) 省略了“表达式3(循环变量增量)”, 则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。 例如: for(i=1;i<=100;) {sum=sum+i; i++;} 5) 省略了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。 例如: for(;i<=100;) {sum=sum+i; i++;} 相当于: while(i<=100) {sum=sum+i; i++;} 6) 3个表达式都可以省略。 例如: for(;;)语句 相当于: while(1)语句 7) 表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。 例如: for(sum=0;i<=100;i++)sum=sum+i; 8) 表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。 for(sum=0,i=1;i<=100;i++)sum=sum+i; 或: for(i=0,j=100;i<=100;i++,j--)k=i+j; 9) 表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。 例如: for(i=0;(c=getchar())!=’\n’;i+=c); 又如: for(;(c=getchar())!=’\n’;) printf(“%c”,c);
for中的三个表达式分别表示 初始条件 终止条件 和 变化条件 三个都不一定需要,但是在你的程序中可以有。 比如for(;;)就是可以没有的情况,和while(1)等价
可能是编译器问题,一般来说不赋初值是可以的,如果for里面三个都是空的话,那就是无限循环
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有一个自称是上海龙华房地产的股东,说什么捐
lua 校验是否在一个子网
怠缓的意思是什么?怠缓的释义是什么啊?
新柔的意思是什么啊?请解释下!
我的无线上网卡换系统以后不能用,怎么办啊
求助20厘米大手爪子如何选择游戏鼠标
我要和老婆离婚,孩子一岁五个月,孩子会判给
几乘几等于480六个?????
你好!前几天我骑自行车上班被车撞倒在地了,当
浸泡姜水醋可浸泡海带吗
宫娃的意思是什么?宫娃的释义是什么啊?
三清山在江西哪里呀
纪念堂的意思是什么啊?请解释下!
饥荒巨人冬天冻死问题
自主招生难度大吗
推荐资讯
凤溪社区居委会地址有知道的么?有点事想过去
蝶翎的意思是什么?蝶翎的释义是什么啊?
中流的意思是什么啊?请解释下!
南宁麻村附近哪里有卖校服的(新希望)
浮烁的意思是什么啊?请解释下!
荷兰红花几月开花啊
沸水的意思是什么啊?请解释下!
绩效管理体系包括哪些内容?
intel g31主板停产后用什么主板代替好?
腰鼓舞的意思是什么?腰鼓舞的释义是什么啊?
一句中文翻译日语 欢迎你的大驾光临
媻跚的意思是什么啊?请解释下!
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?