我正在尝试编写一个返回自定义大小数组的函数,并使用随机数填充。我的整个代码是这样的:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int check_error(int a);
void initialize_array(int array[],int a);
void print_array(int array[],int a);
int replace(int array[],int i, int b, int c);
int main(void)
{
int asize, array;
printf("Hello!\nPlease enter the size of the array:\n");
scanf("%d", &asize);
check_error(asize);
while (check_error(asize)==0)
{
printf("Invalid input! Enter the size of the imput size again:\n");
scanf("%d", &asize);
}
if (check_error(asize)==1)
{
initialize_array(array, asize);
}
}
int check_error(int a)
{
if (a> 0 && a <= 100)
return 1;
else
return 0;
}
void initialize_array(int array[], int a)
{
int i;
srand(time(NULL));
for(i=0; i < a; i++)
{
array[i]=rand()%10;
}
}
具体而言,我需要帮助initialize_array
按预期工作。
答案 0 :(得分:2)
在您的代码中,删除以前的数组定义,然后执行以下操作:
if (check_error(asize)==1) {
int array[asize];
initialize_array(array, asize);
// other stuff here
}
请注意,数组仅在if(check_error)语句的{}之间有效。