没有交换ab的值
这个交换的只是swap()函数中p1和p2指向的地址.
不会影响main主函数中p1和p2指向的地址.也不会改变ab的值.
要交换ab的值应该是
int t;
t=*p1;*p1=*p2;*p2=t;
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
if函数走了。
但是 你交换的 是指针。
指针在函数里变化,但是不会影响实参。
没有交换传入的变量值。函数内只能修改指针指向空间的值,不能修改指针自身的地址
没有交换,你要知道函数的传值只是将传参赋值给形参,然后,在函数结束后,形参被释放,所以如果你在函数内只是交换了形参的地址实际上是不会改变ab的值的,因为形参在函数结束后就被释放了,所以单纯的修改指针内存放的地址是不行的,只有通过这个地址修改到指向的变量这样在函数结束后就算释放掉形参值也变了