我是数组的新手,我想知道是否可以使用带有scanf函数的for循环来填充数组,我做了第一次尝试但是程序没有工作(它应该填充数组然后打印它的所有元素)
#include<stdio.h>
void main(){
int n,i;
int table[10];
for(i=1;i<=10;i++){
scanf("%d",table[i]);
}
for(i=1;i<=n;i++){
printf("\n%d",table[i]);
}
getchar();
getchar();
return ;
}
答案 0 :(得分:2)
当您声明一个大小为N的数组时,元素的索引从0到N - 1.从那里,您需要将变量的地址传递给scanf
,而不是变量本身。由于您使用的是数组,因此非常简单。
for (int i = 0; i < 10; ++i)
scanf("%d", table + i);
答案 1 :(得分:1)
你应该使用
scanf("%d", &table[i]);
此外,循环应该从0开始,因为C中的索引从0..N-1开始。
for(i = 0; i < 10; i++)
scanf("%d", &table[i]);
答案 2 :(得分:0)
在C中,数组索引从0
开始
将for
循环更改为
for(i = 0; i < 10; i++) {...}
和
scanf("%d",table[i]);
到
scanf("%d", &table[i]);
^& operator before the variable table[i]