指出可以实现变量a,b的互换错误:#include <stdio.h> void swap3 (int *p,int *q) {int t; t=*p;p=q;*q=t;} int main() {int a=1,b=2; swap3(&a,&b); printf("%d,%d\n",a,b); return 0;}
时间: 2024-01-23 13:02:37 浏览: 72
教师节主题班会.pptx
在 `swap3()` 函数中,指针 `p` 和 `q` 被交换了,而不是 `p` 所指向的值和 `q` 所指向的值。修改后的代码如下:
```
void swap3(int *p, int *q) {
int t = *p;
*p = *q;
*q = t;
}
```
这样,`a` 和 `b` 的值才能被正确地互换。
阅读全文