我已经声明了一个数组“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
有什么问题?
答案 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错误。