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

外循环中自变量m的输出

#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\n",m);

  

  }

  return 0;


}

此题中,如果不加条件if(m==n),  因为内循环中if(m%n==0)而跳出后,此时m的值还是会输出 是吗?


提问者:qq_a晓月清风_0 2017-05-18 15:51

个回答

  • 后会无期_
    2017-05-19 15:32:45
    已采纳

    如果去掉if(m==n),对m值没有判断,会输出每一个m值,也就是2~50每一个数;f(m==n)是为了判断跳出的时候n是否等于m,如果不等于,则说明m能整除比自己小比1大的数,也就是说他不是质数。

  • 精慕门0477512
    2017-05-18 21:51:21


    没有if条件的话会输出m值
    有if条件的话不会输出m值

  • qq_前卫的风格_0
    2017-05-18 21:40:48

    会因为if(m==n)只是把n的值等于给m,m输出相当于n的值.没有这个条件也是可以输出的 个人想法