读取一系列整数到数组?

时间:2014-01-12 17:45:57

标签: c arrays scanf

我是数组的新手,我想知道是否可以使用带有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 ;
    }

3 个答案:

答案 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]