各位大侠,小弟碰到C语言难题一道,还请听小弟娓娓道来:这是判断两个数...
发布网友
发布时间:2024-11-07 20:09
我来回答
共2个回答
热心网友
时间: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;
}
热心网友
时间:2024-11-07 20:09
。。。。p1是指针,指向一个整数存放的是一个地址,*p1就代表指向的整数