指针传参数,用两种方法来交换字符串,见代码
#include <stdio.h>
#include <string.h>
//交换方法一:指针交换要用引用!!!,也就是指针别名来交换,否则指针地址交换无效
/*void swap(char * &a, char * &b)
{
//交换地址
char *temp = a;
a = b;
b = temp;
}
*/
//交换方法二:交换指针指向的单元的数据
void swap(char *a, char *b)
{
char temp[20];
strcpy(temp,a);
strcpy(a,b);
strcpy(b,temp);
}
int main()
{
char a[20],b[20],c[20];
gets(a);gets(b);gets(c);
char *s1=a, *s2=b, *s3=c;
//先 1 与 3 比
if(strcmp(s1,s3)>0) swap(s1,s3);
//再 2 3 比
if(strcmp(s2,s3)>0) swap(s2,s3);
//确定s3最大,再判断s1 s2
if(strcmp(s1,s2)>0) swap(s1,s2);
puts(s1);puts(s2);puts(s3);
return 0;
}