为了账号安全,请及时绑定邮箱和手机立即绑定

上面是我写的,下面是答案,在if(m%n==0)后面我多加个分号,请问大神,这个分号怎么会导致出不同的答案?

#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;    
}





//#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;    
//}


正在回答

1 回答

变成了不同的语句类型 。

没有“;”:if为如果 后面的为结果;

而有“;”:没有了上述的因果关系,if语句执行了一条空语句。

还有疑问QQ289881344

加油!

2 回复 有任何疑惑可以回复我~
#1

赤井灬秀一 提问者

多谢
2018-07-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

上面是我写的,下面是答案,在if(m%n==0)后面我多加个分号,请问大神,这个分号怎么会导致出不同的答案?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信