热心网友
回答时间:2024-11-07 20:06
调用用 swap( pointer_1, pointer_2);
或 swap(&a,&b);
形参是指针,a,b 用地址 去调用。
形参是指针,pointer_1, pointer_2 本就是指针,调用时时参对应,不加*号。
temp=p1; p1=p2; p2=temp; 你想做地址交换,语法上不行。
但可以:int *temp; temp=p1; p1=p2; p2=temp;
然而函数内 地址是交换了,主函数调用处 pointer_1, pointer_2 地址不会变。
正确交换是函数内交换数值,交换后的值会被指针带回去。
void swap (int *p1,int *p2)
{
int temp;
temp=*p1; *p1=*p2; *p2=temp;
}
收起