懂的人帮忙看下这段C代码!#include#includevoid 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;
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 02:09:37
懂的人帮忙看下这段C代码!#include#includevoid 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;
懂的人帮忙看下这段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不是把各字符串的起始地址交换了吗?为什么无论输入什么,输出的顺序照样没变?
懂的人帮忙看下这段C代码!#include#includevoid 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;
照你这么个写法,至少应该三个if语句形成选择结构吧(if else),怎么也不能是顺序结构吧.