c语言 .用指针编 两个字符串 互换的函数.谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:09:36
如题.我编了n久 就是有问题..
请各位大大 给我开开眼咯~
忘记说了 一楼的我也编的出..就是要不能用strcpy的~~~~
我就是尝试把strcpy改掉 但是不成功,,指针的地址每次变换前感觉要归为原位的,就这里卡住;饿
麻烦能在改下 ,啊??谢谢

void swap(char **a,char **b)
{
char *c;
c=*a;
*a=*b;
*b=c;
}
void main(void)
{
char *a,*b;
strcpy(a,"aaaa");
strcpy(b,"bbbb");
swap(&a,&b);

/*这个最简单,效率也高,不过不能操作静态字符数组*/
void strswap(char **pStr1, char **pStr2)
{
char *temp = *pStr1;
*pStr1 = *pStr2;
*pStr2 = temp;
}

/*更通用的应该是这样写*/
void strswap(char* str1, char* str2)
{
char temp;
int i = 0;
bool bStr1End = false, bStr2End = false;
while( !(bStr1End = (bStr1End || str1[i] == '\0'))
|| !(bStr2End = (bStr2End ||str2[i] == '\0')))
{
temp = str1[i];
str1[i] = str2[i];
str2[i] = temp;
i++;
}
}

#include <stdio.h>
#include <string.h>
void main()
{
char *s,*t,*temp;
printf("Please input 2 string:\n");
gets(s);
gets(