#include <stdio.h>
#include <string.h>
void swap(char *p1,char *p2)
{
char *temp=NULL;
strcpy(temp,p2);
strcpy(p2,p1);
strcpy(p1,temp);
}
main()
{
char *str1=NULL;
char *str2=NULL;
char *str3=NULL;
gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1,str2)>0) swap(str1,str2);
if(strcmp(str2,str3)>0) swap(str2,str3);
if(strcmp(str1,str2)>0) swap(str1,str2);
printf("%s\n%s\n%s\n",str1,str2,str3);
}
请问下这段代码为什么不对,我知道把char *str1=NULL这些改成char str1[100]之类的数组就对了,但是我觉得用指针也应该一样啊,请教!