void swap( int *p1, i nt *p2) {int * temp; *temp= *p1; *pl=*p2; *p2= *temp; }

以上程序能实现数据的交换么?为什么,求高手解答
void swap( int *p1, i nt *p2)
{ int * temp;
*temp= *p1;
*pl=*p2;
*p2= *temp;
}

你好,不能,你的temp指针没有分配内存。
改成这样。
void swap(int *p1, int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}

调用方式。
int i = 1;
int j = 2;
swap(&i, &j);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-24
值得传递
第2个回答  2012-09-24
貌似~~ 呃 直接内存错误吧~