C语言中怎样交换两个字符串
2 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
字符串a,与字符串b交换。
这样。
.......
char *c;
strcpy(c,a);
strcpy(a,b);
strcpy(b,c);
...........
成功交换。
如果不用库函数,那么也好办。
自己写个串拷贝函数
str_cpy(char *a,char *b) //假设是将b拷贝到a中,注意不是交换
{
while(*b!='\0') //如果字符串b未结束
*(a++)=*(b++);//一位位覆盖进去
*a='\0';//加上结束标志
}
将上面的strcpy替换成这个函数 也成。
测试成功
那么整个程序可以这么写。
void str_cpy(char *a,char *b) //假设是将b拷贝到a中,注意不是交换
{
while(*b!='\0') //如果字符串b未结束
*(a++)=*(b++);//一位位覆盖进去
*a='\0';//加上结束标志
}
void swap(char *a,char *b)
{
char *c;
str_cpy(c,a);
str_cpy(a,b);
str_cpy(b,c);
}
int main()
{
char *str1="123456",*b="654321"
swap(str1,str2);//完成交换
.........
return 0;
}
- 2 回答
- 0 关注
- 6992 浏览
添加回答
举报
0/150
提交
取消