int * scanffile(FILE *fp,int n){ int i;static int array[10]; //因为array是局部变量,随scanffile()函数的结束,该内存被释放,因此,你在之后得不到相应的数据了。 改成static静态变量就可以了! for(i=0;i fscanf(fp,"%d\t",&array[i]); } for(i=0;i<5;i++) printf("%d\t",array[i]); return array;}