为什么我的 scanf() 没有在我的数组上迭代我的 for 循环?

Why isn't my scanf() not iterating for my for loop on my array?

本文关键字:我的 迭代 for 循环 数组 scanf 为什么      更新时间:2023-10-16

我正在使用 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;
}

您在这一行中缺少一个与号:

scanf("%d", digits[row][0](;

更正的代码:

scanf("%d", &digits[row][0](;

检查这个,

scanf("%d", &digits[row][0]);

您需要添加"&"。这将给出存储扫描变量的地址。在数组中存储单个整数也是如此。

scanf 的最后一个参数必须是变量的地址,所以如果你想在这些变量中写一些东西,你需要用 there 地址而不是 there 值传递它们。

scanf("%d",&variable( --> 传递它的地址 scanf("%d", variable( --> 传递它的值