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 に答える