C语言 break问题

为什么还显示3 ,后面的也不换行了?
2025-05-13 03:14:57
推荐回答(1个)
回答1:

你是先打印,再做的判断,当然会把3打印出来啊

换行的问题,你break之前n的值为1,对5求余不为0,它肯定不会换行了

要修改的话,把判断语句和换行语句放到外层循环去

for (int i = 1;i <= 4;i++)
{
    //因为你实际上是要忽略i等于3时的一整行,所以只需要在外层循环判断i的值就行了
    if (i == 3) continue;
    for (int j = 1;j <= 5;j++)
    {
        printf("%d\t", i * j);
    }
    //换行放到内层循环之后是最好的,不需要再声明一个n了
    printf("\n");
}