指针数组应用在文件输入中的小问题!
这个程序是写三个字符串,然后比较大小,之后从大到小排序写到打开的文件中。#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char *t;
char *str[3]; 这里我尝试用了指针数组,但是我只能运行到输入3个字符串,然后就出问题了。请问大神哪里出问题了?
int i,j,k,n=3;
printf("please enter three lines:");
for(i=0;i<3;i++)
scanf("%s",str+i);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(str[j],str[i])>0)
{
t=str[j];
str[j]=str[i];
str[i]=t;
}
if((fp=fopen("E:\\VC++6.0\\MyProjects\\c\\file.dat","w"))==NULL)
{
printf("file cannot open!");
exit(0);
}
for(i=0;i<3;i++)
{fputs(str[i],fp);
fputs("\n",fp);
printf("%s\n",str[i]);
}
return 0;
}