main( ) {int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(2)a=%d,b=%d\n",a,b); } swap(int p,int q) {int t; t=p;p=q;q=t;}
时间: 2024-03-06 08:49:22 浏览: 23
这段代码在执行时会出现错误。因为 `swap` 函数的参数类型是 `int`,而传入的参数是指针类型 `int*`,两者不匹配。应该将 `swap` 函数的参数类型改为指针类型,并修改函数体,使其能够正确地交换两个指针所指向的值。修改后的代码如下:
```c
#include <stdio.h>
void swap(int *p, int *q) {
int t = *p;
*p = *q;
*q = t;
}
int main() {
int a = 10, b = 20;
printf("(1) a=%d, b=%d\n", a, b);
swap(&a, &b);
printf("(2) a=%d, b=%d\n", a, b);
return 0;
}
```
输出结果为:
```
(1) a=10, b=20
(2) a=20, b=10
```
相关问题
include<stdio.h> main int a=100,b=10 int *pointer_1,*pointe pointer_1=a; pointer_2=b; print("a=%d,b=%d\n,a,b printf("*pointer_1=%d,return 1 0;
这段代码存在语法错误,应该是:
```
#include <stdio.h>
int main() {
int a = 100, b = 10;
int *pointer_1 = &a, *pointer_2 = &b;
printf("a=%d, b=%d\n", a, b);
printf("*pointer_1=%d, *pointer_2=%d\n", *pointer_1, *pointer_2);
return 0;
}
```
这段代码的作用是定义两个整型变量 `a` 和 `b`,并定义两个指向整型的指针 `pointer_1` 和 `pointer_2`,分别指向 `a` 和 `b` 的地址。然后输出 `a` 和 `b` 的值,最后输出 `pointer_1` 和 `pointer_2` 指向的变量的值。
输出结果为:
```
a=100, b=10
*pointer_1=100, *pointer_2=10
```
其中 `*` 是取值运算符,用于获取指针指向的变量的值。
修正#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 }
修正后的代码如下,主要是将 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 的值已经被成功交换了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)