我无法弄清楚这里有什么问题。这应该是一个从用户读取数组大小然后传递给函数开始填充数组的函数
#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];
}
答案 0 :(得分:4)
在函数int input_array(int *start, int s_size)
中使用此语句
由于start
是int *
-
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