解答:
#include <stdio.h>
#include <string.h>
//交换两个字符串的内容
void swap1(char *s1,char *s2){
char d[20];
char *p4 = d;
strcpy(p4,s1);
strcpy(s1,s2);
strcpy(s2,p4);
}
//冒泡排序
void swap2(char* s1, char* s2, char* s3) {
if(strcmp(s1,s2)>0) {
swap1(s1,s2);
}
if(strcmp(s2,s3)>0){
swap1(s2,s3);
}
if(strcmp(s1,s2)>0){
swap1(s1,s2);
}
}
//思路:将三个字符串的内容按照大小顺序交换,结果仍按照s1,s2,s3的顺序输出
int main() {
char s1[50], s2[50], s3[50];
gets(s1);
gets(s2);
gets(s3);
swap2(s1,s2,s3);
printf("%s\n", s1);
printf("%s\n", s2);
printf("%s\n", s3);
return 0;
}
总结:注意if在条件为负数时仍会执行