0

我正在尝试编写一个函数,该函数返回一个自定义大小的数组并填充随机数。我的整个代码是这样的:

#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才能按预期工作。

4

1 回答 1

2

在您的代码中,删除您之前对数组的定义,然后执行以下操作:

if (check_error(asize)==1) {
        int array[asize];
        initialize_array(array, asize);
        // other stuff here
}

请注意,数组仅在 if(check_error) 语句的 { } 之间有效。

于 2013-10-06T20:52:33.607 回答