[求助]如何利用指针交换两个变量的值
RTint a=2,b=12;
怎么用指针交换?
2006-09-17 11:32
2006-09-17 13:10
2006-09-17 13:56
1)常规:
void swap(int*p,int*q)
{
int *temp=NULL;
*temp=*p;
*p=*q;
*q=*temp
}
2)不声明新变量:
int *p=&a,*q=&b;
*p=*p+*q;
*q=*p-*q;
*p=*p-*q;

2006-09-17 14:27
1)常规:
void swap(int*p,int*q)
{
int *temp=NULL;
*temp=*p;
*p=*q;
*q=*temp
}
2)不声明新变量:
int *p=&a,*q=&b;
*p=*p+*q;
*q=*p-*q;
*p=*p-*q;
哈哈,地址为0的内存单元你也敢用,系统规定那是不可访问的.

2006-09-17 14:31
2006-09-17 14:45

千里冰封,万里雪飘!!哈哈
2006-09-17 15:57
那应该给temp负什么地址呢,如果不负是随机的,也可能出现一些系统错误..
怎么解决呢.
[/QUOTE]
2006-09-17 16:05
那应该给temp负什么地址呢,如果不负是随机的,也可能出现一些系统错误..
怎么解决呢.
直接int temp;算了

2006-09-17 16:10
直接int temp;算了
呵呵.哪个都行..总之LZ的是没什么用...

2006-09-17 16:13