指出可以实现变量a,b的互换错误:#include <stdio.h> void swap1(int *p,int *q) {int *t; t=p;p=q;q=t;} int main( ) {int a=1,b=2; swap1(&a,&b); printf("%d,%d\n",a,b); return 0;}
时间: 2024-01-23 22:02:28 浏览: 58
<stdioh>常用函数-函数与指针
在 swap1 函数中,指针 t 没有被正确赋值。应该将 p 所指向的值存入 t,再将 q 所指向的值存入 p,最后将 t 所指向的值存入 q。修改后的代码如下:
```
void swap1(int *p, int *q) {
int t = *p;
*p = *q;
*q = t;
}
```
这样,a 和 b 的值才能被正确地互换。
阅读全文