下面是我写的代码,比较三个字符串的大小,但是我不知道哪错了,出错的地方我百度了还是不太懂,有哪位大神能通俗易懂的给我解释下,跪谢。
出错图片:
我的主函数里是用*p来代表数组里的元素的,不知道这样写的话是否有错。
#include<stdio.h>
#include<string.h>
void sort(char *p1,char *p2);
int main()
{
char str1[20],str2[20],str3[20];
char *p1,*p2,*p3;
p1=str1;
p2=str2;
p3=str3;
printf("please input three line:\n");
gets(str1);
gets(str2);
gets(str3);
if(strcmp(*p1,*p2)>0)sort(p1,p2);
if(strcmp(*p1,*p3)>0)sort(p1,p3);
if(strcmp(*p2,*p3)>0)sort(p2,p3);
printf("%s\n%s\n%s\n",str1,str2,str3);
return 0;
}
void sort(char *p1,char *p2)
{
char temp[20];
strcpy(temp,p1);
strcpy(p1,p2);
strcpy(p2,temp);
}
希望大神能用通俗易懂的话解释,我怕我这个小白听不懂,万分感谢。