c++ 指针学习笔记--交换两个字符串数据

baihe_591 2008-10-09 05:08:57
换两个字符串数据。
一:字符指针

int main()
{
void charsort2(char ** ,char **);
char * s1="abc";
char * s2="baihe";
charsort2 (&s1,&s2);
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}
void charsort2(char **s1,char **s2)
{
char *p;
p=*s1;
*s1=*s2;
*s2=p;
}


二:字符数组

int main()
{
void charsort( char * ,char * );
char s1[7]="abc";
char s2[7]="baihe";
charsort(s1,s2);
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}
void charsort(char *s1,char *s2)
{
char p[7];
strcpy(p,s1);
strcpy(s1,s2);
strcpy(s2,p);
}


三:字符串

int main()
{
void strsort(string *,string *);
string s1="abc";
string s2="baihe";
strsort(&s1,&s2);
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}
void strsort(string *s1,string *s2)
{
string p;
p=*s1;
*s1=*s2;
*s2=p;
}


四:引用

int main()
{
void strsort(string &,string &);
string s1="abc";
string s2="baihe";
strsort(s1,s2);
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}
void strsort(string & s1,string &s2)
{
string p;
p=s1;
s1=s2;
s2=p;
}

...全文
438 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
DotCpp 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 baihe_591 的回复:]
呵呵,多谢楼上,收纳了。

我也试着用字符引用,可惜将*和&的位置弄颠了.多谢.
[/Quote]

其实很简单,在新的C++标准中char*算是类型 ,所以char* &就是char*的引用了.这样就不容易乱了,以前在学校的时候不知道,也常常乱
zengtc 2008-10-10
  • 打赏
  • 举报
回复
顶了,谢谢楼主分享
Fighting Horse 2008-10-10
  • 打赏
  • 举报
回复
字符数组小心数组越界哦
19452170 2008-10-10
  • 打赏
  • 举报
回复
学习中
fengyizi 2008-10-10
  • 打赏
  • 举报
回复
学习下,呵呵
backway 2008-10-10
  • 打赏
  • 举报
回复
UP
zgjxwl 2008-10-10
  • 打赏
  • 举报
回复
^_^
final_authority 2008-10-10
  • 打赏
  • 举报
回复
祝贺楼主,一同分享喜悦
帅得不敢出门 2008-10-09
  • 打赏
  • 举报
回复
顶一下.
baihe_591 2008-10-09
  • 打赏
  • 举报
回复
呵呵,多谢楼上,收纳了。

我也试着用字符引用,可惜将*和&的位置弄颠了.多谢.
OenAuth.Core 2008-10-09
  • 打赏
  • 举报
回复
赞,不过指针可以引用:

int main()
{
void charsort2(char*& ,char*&);
char * s1="abc";
char * s2="baihe";
charsort2 (s1,s2);
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}
void charsort2(char *&s1,char *&s2)
{
char *p;
p=s1;
s1=s2;
s2=p;
}


chenzhp 2008-10-09
  • 打赏
  • 举报
回复
收下了,谢谢楼主大人
freshairfly 2008-10-09
  • 打赏
  • 举报
回复
我顶

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧