一般功能输入数组

时间:2015-10-20 12:18:03

标签: c

我无法弄清楚这里有什么问题。这应该是一个从用户读取数组大小然后传递给函数开始填充数组的函数

#include <stdio.h>
#include <stdlib.h>

int input_array(int *start, int s_size);

int main()
{
    int arr_size;

    printf("Please enter the Size of your array: ");
    scanf("%d",&arr_size);

    int arr[arr_size];

    input_array(arr,arr_size);

    return 0;
}
int input_array(int *start, int s_size)
{
    static int counter=0;

    printf("Start fill your array with %d elements: \n\n",s_size);

    for(counter=0; counter<s_size; counter++)
    {
        printf("Input Element : ");
        scanf("%d",start[counter]);
        printf("\n");
    }
    return start[0];
}

this is the error I get when I run the program

2 个答案:

答案 0 :(得分:4)

在函数int input_array(int *start, int s_size)中使用此语句

由于startint * -

scanf("%d",start[counter]);        // pass address of variable

您需要传递start[counter]的地址,因为它的类型为int

答案 1 :(得分:2)

我找到了这一行的答案

scanf("%d",start[counter]);

应该是

scanf("%d",&start[counter]);

和&#39;&amp;&#39;运营商是missig