查看: 989|回复: 3
|
C++ swap via pointer的问题, who 变成 ohw
[复制链接]
|
|
#include <iostream>
using namespace std;
void swap_1 (int a, int b){
int t;
t=a;
a=b;
b=t;
}
void swap_2 (int &a, int &b){
int t;
t=a;
a=b;
b=t;
}
void swap_3 (int *a, int *b){
int t;
t=*a;
*a=*b;
*b=t;
}
int main()
{
int x=10,y=20;
cout << "Before x="<< x << " y=" << y << endl;
swap_1(x,y);
cout << "After x="<< x << " y=" << y << endl;
int w=30,v=40;
cout << "Before w="<< w << " v=" << v << endl;
swap_2(w,v);
cout << "After w="<< w << " v=" << v << endl;
int m=70,n=80;
cout << "Before m="<< m << " n=" << n << endl;
swap_3(&m,&n);
cout << "After m="<< m << " n=" << n << endl;
return 0;
}
普通swap via pointer大概是这样,但我只能做到20 30变成30 20, 做不到who变ohw这种。在那里能够找到这一类型的例子呢?我想做一些参考。 |
|
|
|
|
|
|
|
发表于 11-7-2006 10:40 PM
|
显示全部楼层
who --> ohw
我能想到的就是拆开再重组了  |
|
|
|
|
|
|
|
发表于 12-7-2006 02:27 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 15-7-2006 01:22 PM
|
显示全部楼层
要达到那样得目标至少函数得参数应该是字符串,用int肯定没啥帮助。。。。
void swap(char* str, char* result){
int i;
for (i=0;str!=0;str++)
i++;
for (;i>0;i++)
result++=--str;
result=0;
}
直接敲的,没有测试。。。。有问题短消息我 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|