编写交换字符串内容的函数

来源:百度知道 编辑:UC知道 时间:2024/07/05 04:11:33
编写一个函数实现两个字符数组中所存放字符串内容的交换,调用函数前有char sl1[20]="shanghai",char sl2[20]="beijing",以sl1和sl2为实参调用函数后,sl1[]中存放beijing,sl2[]存放shanghai(不同于交换指针指向)

void my_swap(char* s1, char* s2) {
char tmp; int i; int s2_ended = 0;
for(i=0;s1[i]!=NULL;i++) {
if(!s2_ended && s2[i]!=NULL) {
tmp = s2[i];
} else {
s2_ended = 1;
tmp = '\0';
}
s2[i] = s1[i];
s1[i] = tmp;
}
tmp = s2[i];
s2[i] = NULL;
if(!s2_ended) {
s1[i] = tmp;
for(i++;s2[i] != NULL;i++) {
s1[i] = s2[i];
}
s1[i] = NULL;
}
}