为什么初始值(表达式1)必须是2?

来源:4-14 结束语句之break语句

慕粉0938398487

2017-05-10 10:43

为什么把m和n的初始值改为1后,结果就变成只有1不往下循环?

写回答 关注

3回答

  • 后会无期_
    2017-05-17 11:07:47

    如果只把m改为1 的话是没有影响的,但是如果你把n改为1了,任何数都可以被1整除,n的循环在1那里就符合条件直接break跳出循环了,n值不会增加,然后打印出来符合m=n的就只有1=1了。仔细看一下break条件吧

    #include <stdio.h>

    int main()

    {

        int m, n;

        for(m=1; m<=50; m++)

        {

            for(n=1; n<=m; n++)

            {

                if(   m%n==0    )       //什么条件下跳出当前循环

                    break;                //这里应该退出当前循环了

            }

            if(m == n)   //n循环结束后,如果m=n的话就输出m

                printf("%d  ", m);

        }

        return 0;    

    }


  • 慕粉23070526
    2017-05-12 17:53:19

    m<=50

    n<..

    遍历完就停下来了

  • 慕粉23070526
    2017-05-10 14:20:02

    1既不是质数也是合数。

    慕粉0938...

    但是程序为什么会停下呢……

    2017-05-11 05:59:27

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题