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

关于++的问题

请问下,为什么会输出2啊?不应该最低输出3吗?2被++后不就成为3了吗?

提问者:慕哥6598566 2018-10-12 11:01
微课

个回答

  • Ibuki_suga
    2018-10-13 12:20:43

    那是因为在m循环要先要执行完毕下面的所有执行代码才会返回表达式3,自增1,这也包括了n循环和输出语句。而n循环中是要求n<m,n一次都没有循环,也无法自增1。跳出循环执行输出语句,这样2就输出出来了

  • 慕哥6598566
    2018-10-12 11:04:14

    #include <stdio.h>

    int main()

    {

        int m, n;

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

        {

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

            {

                if(   m%n==0   )      

              break;               

    }

            if(m == n)   

                printf("%d  ", m);

    }

    return 0;    

    }