作业帮 > 综合 > 作业

懂的人帮忙看下这段C代码!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 20:21:28
懂的人帮忙看下这段C代码!
#include
#include
void compare(char *p1,char *p2,char *p3)
{
char *temp;
if(strcmp(p2,p1)>0)
{
temp=p2;
p2=p1;
p1=temp;
}
if(strcmp(p3,p1)>0)
{
temp=p3;
p3=p1;
p1=temp;
}
if(strcmp(p3,p2)>0)
{
temp=p2;
p2=p3;
p3=temp;
}
}
void main()
{
char a[50],b[50],c[50];
gets(a);
gets(b);
gets(c);
compare(a,b,c);
puts(a);
puts(b);
puts(c);
}
我的意图是想比较输入的那3个字符串的大小,从大到小输出, 可是达不到效果.想问一下,函数 compare不是把各字符串的起始地址交换了吗?为什么无论输入什么,输出的顺序照样没变?
照你这么个写法,至少应该三个if语句形成选择结构吧(if else),怎么也不能是顺序结构吧.