我正在玩游戏,我在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);
}
}
答案 0 :(得分:1)
scanf(" %d " --> scanf("%d"
可能%d 之后的空格会导致scanf等待另一个输入。所以,删除空格,它应该工作正常。
答案 1 :(得分:1)
scanf("%d ",&array[i][j]) ----> scanf("%d",&array[i][j])
这可能有助于解决它