为了账号安全,请及时绑定邮箱和手机立即绑定

for嵌套遇到的问题 求大神解答

for嵌套遇到的问题 求大神解答

C++ C
L0uis 2015-11-27 20:21:16
void main() {     int a,b;     for(b=3;b<=50;b++)     {         for(a=2;a<b;a++)        //在这里给a赋值             if(b%a==0) break;         if(b==a) printf("%d\t",b);     }     getchar(); } void main() {     int a=2,b;                         //在这里给a赋值     for(b=3;b<=50;b++)     {         for(;a<b;a++)             if(b%a==0) break;         if(b==a) printf("%d\t",b);     }     getchar(); }上面代码成功运行下面结果:输出3到50所有数请解释下为什么会不一样
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

上面那个代码:

每次进入for(a=2;a<b;a++) 循环时,a的值都是2。

下面的代码:

a的值在一开始是2,但这个 for(;a<b;a++) 不会在循环前将a赋值为2,所以a的值将累加上去。

查看完整回答
反对 回复 2015-11-28
  • 1 回答
  • 0 关注
  • 1167 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号