请输入三个字符串,按由小到大的顺序输出。(用指针方法处理) 出错,求高手

2024-11-19 16:22:24
推荐回答(2个)
回答1:

你的swap函数仅仅交换了第一个字符,把swap函数改成这样就好了
void swap(char*p1,char*p2)
{
char j[70];
strcpy(j,p1);
strcpy(p1,p2);
strcpy(p2,j);
}

回答2:

#include
2 #include
3 void change(char *a,char *b)
4 {
5 char p[50];
6 if (strcmp(a,b)>0)
7 {
8 strcpy(p,a);
9 strcpy(a,b);
10 strcpy(b,p);
11 }
12 }
13
14 void exchange(char *a,char *b,char *c)
15 {
16 change(a,b);
17 change(a,c);
18 change(b,c);
19 }
20
21 int main()
22 {
23 char a[20];
24 char b[20];
25 char c[20];
26 scanf("%s%s%s",a,b,c);
27 exchange(a,b,c);
28 printf("%s,%s,%s",a,b,c);
29 }