为啥j都是11啊?。。菜狗搞不明白了


#include<stdio.h>
int main()
{
    int i = 0;
    int j = 0;
    for (i = 1; i < 11; i++)
    {
        for (j = 1; j < 11; j++);
        {
            if (j == 5)
            {
                break;
            }
            printf("i=%d,j=%d\n", i, j);
        }
    }
    return 0;
}

所有输入的j都是11.。。为什么呀

for (j = 1; j < 11; j++)之后多了个;分号

这样循环体是空的,下面的{}中的代码都是循环之外。
这样就是空循环结束之后再输出j 就是11了

删除;分号即可,如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮

#include<stdio.h>
int main()
{
    int i = 0;
    int j = 0;
    for (i = 1; i < 11; i++)
    {
        for (j = 1; j < 11; j++)
        {
            if (j == 5)
            {
                break;
            }
            printf("i=%d,j=%d\n", i, j);
        }
    }
    return 0;
}

img

为什么是输入的j,你并没有输入?
你内循环后面多写了分号
代码修改如下:

#include<stdio.h>
int main()
{
    int i = 0;
    int j = 0;
    for (i = 1; i < 11; i++)
    {
        for (j = 1; j < 11; j++)
        {
            if (j == 5)
            {
                break;
            }
            printf("i=%d,j=%d\n", i, j);
        }
    }
    return 0;
}
for (j = 1; j < 11; j++);
这个语句后面多了一个分号,删除即可
for (j = 1; j < 11; j++)

img