课程
/后端开发
/C
/C语言入门
求运行中m,n的变化和执行过程
2016-07-15
源自:C语言入门 4-14
正在回答
当m=4时n不可能等于3啊,因为当m%n==0时就跳出子循环了,此时m=4,n=2
只有在循环的条件为真,执行了代码块,他的值才会增加,循环条件为假的时候不执行代码块,直接跳过,值也不会增加
在子循环中,当最后n<m为真时,执行代码块,然后再执行表达式3即n++,所以最后存在 n=m的。在这里,n=2的时候,就已经执行代码块了,然后跳出子循环,此时n=3 而m=4
其实这里n<m的意思是不大于,n,m从一开始循环就是相同的数,然后不断算他俩相除余数是否等于0,等于0是输出
imooc_粉丝
可以把代码复制过来么
喜欢数月亮的人 提问者
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答4-14这道题里m%n==0和m/n==1等价吗?
1 回答n循环结束后,如果m=n的话就输出m
1 回答这是为什么? if(m == n) //n循环结束后,如果m=n的话就输出m
1 回答#include <stdio.h> int main() { int m, n; for(m=3; m<=50; m++) { for(n=2; n<m; n++) { if(m%n==0) //什么条件下跳出当前循环 break; //这里应该退出当前循环了 } if(m == n) //n循环结束后,如果m=n的话就输出m
1 回答 //n循环结束后,如果m=n的话就输出m printf("%d ", m);