Sign-up....

如何利用指针实现两个字符串串变量的交换?

如何使用引用参数来实现两个字符串变量的交换。

例如:

char *ap="hello";

char *bp="how are you";

交换后使ap和bp指向的内容分别是:

ap: "how are you"

bp: "hello"

请大家帮帮看看??

[148 byte] By [绿如蓝] at [2007-8-15 11:11:01]
# 1 Re: 如何利用指针实现两个字符串串变量的交换?
就好像这个一样

void main()

{

char a[20],b[20];

cout<<"请输入ap的值:";

cin>>a;

cout<<"请输入bp的值:";

cin>>b;

char *ap=a,*bp=b;

cout<<"你输入的ap值是:"<<a<<'\t'<<"bp的值是:"<<b<<endl;

Swap(ap,bp);

cout<<"交换后ap值是:"<<a<<'\t'<<"bp的值是:"<<b<<endl;

}

我不知道Swap(ap,bp)这个函数该如何写???

Iror at 2007-3-24 12:56:50 >
# 2 Re: 如何利用指针实现两个字符串串变量的交换?
晕~你是要交换指针的啊,怎么变成输出数组地址内容?

cout<<"你输入的ap值是:"<<a<<'\t'<<"bp的值是:"<<b<<endl;

cout<<"交换后ap值是:"<<a<<'\t'<<"bp的值是:"<<b<<endl;

把这两行输出改成:

cout<<"你输入的ap值是:"<<ap<<'\t'<<"bp的值是:"<<bp<<endl;

cout<<"交换后ap值是:"<<ap<<'\t'<<"bp的值是:"<<bp<<endl;

踏雪寻岩 at 2007-3-24 12:57:9 >
# 3 Re: 如何利用指针实现两个字符串串变量的交换?
ytfhwfnh(蓝色心情) 你说错了,我不是这个意思,我就是利用字符串,然后再利用指针交换,最后把它输出来呀!!

就像下面这个一样:

请输入ap的值:abcdefg

请输入bp的值:1234

你输入的ap值是:abcdefg bp的值是:1234

交换后ap值是:1234 bp的值是:abcdefg

Press any key to continue

虚数传播网络 www.vByte.com at 2007-3-24 12:57:21 >
# 4 Re: 如何利用指针实现两个字符串串变量的交换?
void Swap(char* x, char* y)

{

if (strlen(y) > strlen(x)) // 如果字符串y比较长的话……

{

char *t = x; x = y; y = t; // 交换两个指针

} // 因此x总是指向比较长的那个

swap_ranges(x, x + strlen(x) + 1, y); // STL算法,交换两个区间的元素内容……

}

慎独 at 2007-3-24 12:57:59 >

C/C++

All Classified