在C中填充二维数组

时间:2013-05-17 12:57:58

标签: c arrays

我已经声明了一个数组“a [3] [3]”(3 x 3),用户必须用9个整数填充它。

我正在使用此代码:

for (i = 0; i < 3; i++)
{
    for (j = 0; j < 3; i++)
        scanf("%d", &a[i][j]);
}

我插入数字0 1 2 3 4 5 6 7 8并尝试打印后输出:0 0 0 1 0 0 2 0 0

有什么问题?

4 个答案:

答案 0 :(得分:6)

在你的内心

for (j = 0; j < 3; i++)

增量应为j ++;

for (i = 0; i < 3; i++)
{
    for (j = 0; j < 3; /*HERE */j++)
        scanf("%d", &a[i][j]);
}

使用调试器一步一步地查看变量值,以便将来自行调查此类案例。

答案 1 :(得分:2)

for (j = 0; j < 3; i++)应为for (j = 0; j < 3; j++)

答案 2 :(得分:1)

你正在增加内循环中的错误变量。

for (i = 0; i < 3; i++)
{
    for (j = 0; j < 3; j++)      // < should be j++, not i++
        scanf("%d", &a[i][j]);
}

答案 3 :(得分:1)

在您的代码中:

for (i = 0; i < 3; i++)
{
    for (j = 0; j < 3; i++)
        scanf("%d", &a[i][j]);
}

第二个i++应为j++,否则程序将永远不会停止询问数字。

这个问题很简单,为什么不分享你所有的代码。我很确定只有sytax错误。