我正在处理1D和2D数组,但是我的scanf没有为我的1D数组循环。这是我当前的代码:
#include <stdio.h>
int main(void)
{
int row, col, N, M;
printf("This program counts occurrences of digits 0 through 9 in an NxM array.\n");
printf("Enter the size of the array (Row Column): ");
scanf("%d%d", &N, &M);
int digits[N][M];
for (row = 0; row < N; row++){
printf("Enter row %d: ", row);
scanf("%d", digits[row][0]);
}
return 0;
}
答案 0 :(得分:0)
检查此
scanf("%d", &digits[row][0]);
您需要添加“&”。这将给出将存储扫描变量的地址。对于单个整数存储在数组中也是如此。
答案 1 :(得分:0)
您在此行中缺少与号:
scanf(“%d”,digits [row] [0]);
更正后的代码:
scanf(“%d”,&digits [row] [0]);
答案 2 :(得分:0)
scanf的最后一个参数必须是变量的地址,因此,如果您想在这些变量中写一些东西,则需要将其传递给那里的地址,而不是那里的值。
scanf(“%d”,&variable)->传递其地址 scanf(“%d”,variable)->传递其值