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

第一步m不是已经等于三了吗,那个2是怎样输出来的

#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)   //n循环结束后,如果m=n的话就输出m
            printf("%d  ", m);
 }
 return 0;    
}


提问者:慕九州3323890 2019-03-11 22:43

个回答

  • 徐无庸
    2019-03-27 18:14:04
    已采纳

    给你两张图你就明明白白的。

    https://img2.mukewang.com/5c9b4ce700013b1303130095.jpg

    https://img4.mukewang.com/5c9b4ce70001a0e404290203.jpg


  • 慕瓜3118916
    2019-03-23 20:16:42

    第一次m=2 n=2 里面的表达式是n=2;n<2;n++  所以只执行一次 2除以2 余0 直接跳出循环 此时n的值是2 m==n所以输出m=2

  • qq_慕田峪054841
    2019-03-22 19:54:28

    m++ 是运算完在+1 所以第一次循环m=2


  • 慕瓜7465100
    2019-03-11 23:29:32

    它是先判断m<=50,然后执行代码区,然后在m++

    应该是这样哈