使用用户输入填充数组

时间:2014-04-10 06:46:05

标签: c arrays input

所以我创建了一个数组,我使用For循环使用“scanf”为数组填充值。我知道我不能使用“get()”所以scanf似乎是我唯一的选择。

printf("Enter 4 numbers:");
getchar();
for (i = 0; i < len; i++) {
    a[i] = scanf("%d", &input);
}

在我收到有关如何扫描元素的帮助后,这是我的新代码。我也做了一些其他的小改动。

for (i = 0; i < len; i++) {
    printf("Enter a number:");
    scanf("%d", &a[i]);
}

3 个答案:

答案 0 :(得分:0)

这不是scanf的工作原理。首先,您不需要getchar()。其次,scanf将其输出放在参数内而不是返回值。请改用以下内容。

#include <stdio.h>

int main(){
    int len = 4, i;
    int a[4];

    printf("Enter 4 numbers:");
    for (i = 0; i < len; i++) {
        scanf("%d", a + i);
    }
}

答案 1 :(得分:0)

使用

for (i = 0; i < len; i++) {
     scanf("%d", &a[i]);
}

scanf()返回读取的元素数,而不是读取的元素数。阅读this

答案 2 :(得分:0)

scanf("%d", &input)

上面的代码行将提示用户输入,然后在输入中添加整数值。现在,将上面的a [i]分配给上面没有任何意义。

您可以做的是,而不是使用输入作为输入的载体,将用户的输入直接放入您的数组

scanf("%d", &a[i]);

当然,上面的代码行将处于for循环中。

干杯