修正#include<stdio.h> void swap(int a,int b) { int temp =a; a=b; b=temp; } int main() { int x=10,y=20 printf("before swap;x=%d,y=%d",x,y); swap (&x,&y); printf("after swap;x=%d,y=%d",x,y); return 0 }
时间: 2023-11-18 20:02:10 浏览: 104
学习C语言必会的7组代码基础代码学习.rar
修正后的代码如下,主要是将 swap 函数的参数改为指针类型,并在调用 swap 函数时传入 x 和 y 的地址:
```c
#include<stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, y = 20;
printf("before swap; x=%d, y=%d\n", x, y);
swap(&x, &y);
printf("after swap; x=%d, y=%d\n", x, y);
return 0;
}
```
输出结果为:
```
before swap; x=10, y=20
after swap; x=20, y=10
```
可以看到,经过 swap 函数交换后,x 和 y 的值已经被成功交换了。
阅读全文