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

上面是我写的,下面是答案,在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;    
//}


提问者:赤井灬秀一 2018-07-17 16:36

个回答

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

    变成了不同的语句类型 。

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

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

    还有疑问QQ289881344

    加油!