我已经声明了一个数组“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
问题是什么?
在你的内心
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]);
}
使用调试器一步一步地查看变量值,以便将来自行调查此类情况。
for (j = 0; j < 3; i++)
应该for (j = 0; j < 3; j++)
您在内部循环中增加了错误的变量。
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++) // < should be j++, not i++
scanf("%d", &a[i][j]);
}
在您的代码中:
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; i++)
scanf("%d", &a[i][j]);
}
第二个i++
应该是j++
,否则程序将永远不会停止询问数字。
这个问题很简单,为什么不分享你所有的代码。我很确定只有语法错误。