いくつかの数字を入力して(-1が入力された時点で終了とする)そのなかから最大、最小を別の関数で求めてその結果を表示するというプログラムをつくろうとしています。(ホームページ苦しんで覚えるC言語の演習問題より)。どうしてもこのままではsegmentation fault(コアダンプ)というエラーがでてしまいます。どういう風に直せばいいのか教えてもらいたいです。またこのプログラムが根本的にダメな場合は考え方などもおしえていただきたいです。
#include<stdio.h>
int func();
int main(void)
{
int data[10],i=0,max,min;
printf("数字を入力してください、終了の場合は-1を入力\n");
do{
printf("%d;",i+1);
scanf("%d",&data[i]);
i++;
}while(data[i-1]!=-1);
func(data[10],&max,&min);
printf("%d%d",max,min);
return;
}
int func(int array[],int *max, int *min)
{
int num=0,i=0;
*max=array[num];
while(array[num]!=-1){
if(*max>array[num+i+1]){
*max=array[num];
i++;
}else{
*max=array[num+i+1];
i++;
}
}
while(array[num+i+1]!=-1){
if(*min<array[num+i+1]){
i++;
}else{
*min=array[num+i+1];
}
}
return;
}