【发布时间】:2017-12-01 00:41:09
【问题描述】:
我有一个函数定义,它通过用户使用 scanf 获取数组的值。这就是我所拥有的
void readInArray(int *arr, int size) {
int i;
printf("Enter your list of numbers: ");
for (i = 0; i < size; i++) {
scanf("%f", arr[i]);
printf("%d\n", arr[i]);
}
}
当我尝试打印数组时,我在 scanf 行出现错误,提示“格式指定类型 'float *' 但参数的类型为 'int'”。我尝试将 %f 更改为 %d,以便 scanf和 printf 具有相同的占位符
void readInArray(int *arr, int size) {
int i;
printf("Enter your list of numbers: ");
for (i = 0; i < size; i++) {
scanf("%d", arr[i]);
printf("%d\n", arr[i]);
}
}
但我仍然遇到同样的错误。我该如何解决这个问题?
【问题讨论】:
-
谢谢它的工作
-
@JDK 不是每个
scanf教程都展示了如何正确执行此操作吗? -
如果你按照你说的那样做,你不可能得到同样的错误。
-
BDW 你用的是哪个编译器?您是否正确输入了所有元素?