C程序数组需要更多的输入

时间:2016-12-11 04:39:17

标签: c arrays

我正在玩游戏,我在C行中创建了一个包含3行和3列的双D数组,并设置了一个嵌套for循环来扫描元素。 现在,一个三乘三矩阵有九个元素但是这个代码需要10个输入(即使for循环只运行了9次)它是如何发生的?

#include <stdio.h>


int main(){
int array[3][3];
int i,j;
for(i = 0; i < 3; ++i){
    for(j = 0; j < 3; ++j){
        printf("i = %d j = %d\n",i,j);
        scanf(" %d ",&array[i][j]);
        printf("i = %d j = %d\n",i,j);
    }
}

screen shot

2 个答案:

答案 0 :(得分:1)

scanf(" %d " --> scanf("%d"

可能%d 之后的空格会导致scanf等待另一个输入。所以,删除空格,它应该工作正常。

答案 1 :(得分:1)

scanf("%d ",&array[i][j]) ----> scanf("%d",&array[i][j])

这可能有助于解决它