指针作为函数参数时,如何实现两个数的交换

指针作为函数参数时,如何实现两个数的交换

用指针做形参的交换函数:

void swap(int* pa, int* pb)
{
    int tmp = *pa;
    *pa = *pb;
    *pb = tmp;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-11
这个无法交换数据。c语言函数参数的基本规则是值传递,所以传递时只能实现实参向形参的单向的、值的传递。这就是为什么需要使用指针才能实现值交换的原因。
第2个回答  2016-12-08
void change(int * a,int * b)
{
int temp = *a;

*a = *b;
*b = temp;
}
第3个回答  2016-12-08
void swap(int *pa,int *pb)
{
*pa=*pa+*pb;
*pb=*pa-*pb;
*pa=*pa-*pb;
}
相似回答