选择法排列数字,调用函数出现段落错误问题


#include<stdio.h>
int choice();

int main()
{
    printf("Please enter four numbers: ");
    int num[4];
    int i;
    for(i=0;i<4;i++){
        scanf("%d",&num[i]);
    }
    choice(num[4],4);
    
}

int choice(int num[],int n)
{
    int i,j,min,t;
    for(i=0;i<n-1;i++){
        min=num[i];
        for(j=i+1;j<n;j++){
            if(min>num[j]){
                min=num[j];
                t=j;
            }
        }
        num[t]=num[i];
        num[i]=min;
    }
    for(i=0;i<n;i++){
        printf("%d",num[i]);
    }
}

在运行的时候出现segmentation fault 是怎么回事?

13行choice(num,4);

choice(num, 4);