问答详情
源自:4-14 结束语句之break语句

帮我理解一下

第二次循环是m=3,n=2,那第三次循环不是m=4,n=3吗?为什么第三次是n=2,求解

提问者:qq_闪电韦德MVP_0 2015-08-19 14:04

个回答

  • 叔的学习之路
    2015-09-16 23:13:35

    #include <stdio.h>

    int main()

    {

        int m, n;

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

        {

    for(n=2; n<m; n++)      //因为每次循环n都是从2开始的,父循环一次,子循环需要全部执行完,直到跳出循环。父循环再进入下一次,子循环继续执行...

            {

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

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

    }

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

                printf("%d  ", m);

    }

    return 0;    

    }


  • 刘伶
    2015-08-19 14:39:18

    因为第一个for每次循环 内层的for 的 n 都会从2 开始