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

来源:4-14 结束语句之break语句

赤井灬秀一

2018-07-17 16:36

#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回答

  • Dq_慕
    2018-07-17 17:09:16
    已采纳

    变成了不同的语句类型 。

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

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

    还有疑问QQ289881344

    加油!

    赤井灬秀一

    多谢

    2018-07-17 17:11:42

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题