老师让用引用完成字符串交换
每次我运行都是错
要不第一个字符没拷过去
要不就是指针错误
我跟踪了 不是指针没申请私有空间的错
莫名其妙的错 眼睁的看传过去了 一会又不是了
#include <iostream.h>
void swap(char* &rap,char* &rbp);
void main()
{
char *ap="hello";
char *bp="how are you";
swap(ap,bp);
cout<<ap<<endl;
cout<<bp<<endl;
}
void swap(char* &rap,char* &rbp)
{
char* tmp;
int i;
for(i=0;*rap!=0;i++)
{
*(tmp++)=*(rap++);
}
*tmp=0;//加尾节点
rap-=i;//指针复位
tmp-=(i+1);
for(i=0;*rbp!=0;i++)
{
*(rap++)=*(rbp++);
}
*rap=0;
rap-=(i+1);
rbp-=i;
for(i=0;*tmp!=0;i++)
{
*(rbp++)=*(tmp++);
}
*rbp=0;
rbp-=(i+1);
}