C语言,用指针作为参数,对输入的两个整数按大小顺序输出。问题是,第11行,输出调用的是a,b的值,

C语言,用指针作为参数,对输入的两个整数按大小顺序输出。问题是,第11行,输出调用的是a,b的值,而子函数交换的是两个指针变量的值,问什么还是能交换?麻烦详细点。

在swap()函数中,交换的并不是两个指针,而是两个指针指向的地址内存放的两个变量(也就是a与b)。

试比较一下:
int *temp;
temp=p1;
p1=p2;
p2=temp;
这才仅仅是交换的指针指向的地址(p1p2两个指针指向地址的内容a与b并没有发生改变)。
温馨提示:答案为网友推荐,仅供参考
相似回答