wap( int* p1,int* p2 )\n{\nint * p;\n*p = *p1;\n*p1 = *p2;\n*p2 = *p;\n}
时间: 2024-06-23 16:03:16 浏览: 151
浅析int*p[ ]与int(*p)[ ]的区别
这段代码定义了一个名为 `wap` 的函数,它接受两个指向整数(int*)的指针 `p1` 和 `p2` 作为参数。这个函数的作用是将两个指针所指向的整数值进行交换。函数内部首先声明了一个新的指针 `p`,然后通过解引用操作 `*p` 将 `p1` 指向的值赋给 `p`,接着将 `p2` 指向的值赋给 `p1`,最后将 `p`(即 `p2` 的原始值)赋给 `p2`。这样就完成了两个变量值的交换。
相关问题:
1. 这个函数是如何实现值交换的?
2. 如果 `p1` 和 `p2` 指向的是同一个地址会发生什么?
3. 这段代码中如果 `p` 不声明会怎么样?
阅读全文