c++交换字符的问题
来源:百度知道 编辑:UC知道 时间:2024/09/20 14:32:15
#include<iostream.h>
void swap(char *x,char*y)
{char *t=x;x=y;y=t;}
void main(void)
{char *a="zhangshan",*b="lisi";
swap(a,b);
cout<<a<<','<<b;
}
为什么不能交换字符串呢?
void swap(char *x,char*y)
{char *t=x;x=y;y=t;}
void main(void)
{char *a="zhangshan",*b="lisi";
swap(a,b);
cout<<a<<','<<b;
}
为什么不能交换字符串呢?
swap(char **p1, char **p2)
{
char *p;
p = *p1;
*p1 = *p2;
*p2 = p;
}
void main()
{
char str1[] = "12345";
char str2[] = "ABCDEFG";
char *p1 = str1, *p2 = str2;
printf("%s\t%s\n", p1, p2);
swap(&p1, &p2);
printf("%s\t%s\n", p1, p2);
}
Output:
12345 ABCDEFG
ABCDEFG 12345
应该是只交换了两个字符串的第一个字符相互交换了