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

为什么这里输出从第二行开始有空格

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

}

return 0;    

}


提问者:蒙奇D蕾姆 2019-06-01 14:32

个回答

  • 新手菜鸟_大佬带带
    2019-07-21 16:16:29

                                  因为你的for没有对齐(加粗),把他推到上面的括号里。

    #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\n ",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)   //n循环结束后,如果m=n的话就输出m

                printf("%d\n ",m);

    }

    return 0;    

    }

                                      然后就是你想要横着的话,把加粗的地方改一下

                                    "%d   "因为那个是换行

  • 蒙奇D蕾姆
    2019-06-01 14:37:08

    在cfree里面就没有问题,有没有大佬解释一下。

    这里是页面的https://img4.mukewang.com/5cf21d0f0001445001390456.jpg