解释#include void swap(int *a, int *b) { int *t, t=a; a=b; b=t; } main() { int i=2, j=5, *p=&i, *q=&j; swap(p,q); printf("%d %d\n", *p,*q) }
时间: 2024-01-29 19:03:07 浏览: 29
这是一个C语言程序,实现了一个交换两个整数的函数 `swap`。该函数接受两个整型指针作为参数,通过指针交换指向的两个整数的值。
在主函数中,定义了两个整数变量 i 和 j,以及两个指向这两个变量的指针 p 和 q。然后调用 swap 函数,传递 p 和 q 作为参数,实现了 i 和 j 的值的交换。
最后使用 printf 函数输出交换后的结果。由于 swap 函数中实现的是指针交换,所以输出结果应该为 "5 2"。
相关问题
【程序改错】 功能:以下程序把两个数按由大到小的顺序输出来. #include stdio.h /****=*****ERROR*===* void swap(int *p1*p2) int p; p=*p1;*p1=*p2;*p2=p;
【程序改错】
功能:以下程序把两个数按由大到小的顺序输出来.
1. 缺少了头文件的尖括号 "<>"。
2. swap函数的参数中,指针类型的声明缺少了逗号。
3. swap函数中,变量p没有声明类型。
4. swap函数中,变量p的赋值语句缺少了分号。
5. swap函数中,指针变量*p1和*p2所指向的值应该互换。
改正后的程序如下:
```c
#include <stdio.h>
void swap(int *p1, int *p2);
int main(void) {
int a, b;
scanf("%d%d", &a, &b);
if (a < b) {
swap(&a, &b);
}
printf("%d %d\n", a, b);
return 0;
}
void swap(int *p1, int *p2) {
int p = *p1;
*p1 = *p2;
*p2 = p;
}
```
#include<stdio.h> void swap1(int *p1, int *p2) { int t; t = *p1; *p1 = *p2; *p2 = *p1; } void main() { int a = 3; int b = 5; int* pa = &a, * pb = &b; if (a < b) swap1(pa,pb); }
这段代码中的swap1函数实现的是交换两个整数的值,但是代码中存在问题。在交换两个整数的值时,需要将第一个整数的值存储到一个临时变量中,然后再将第二个整数的值赋给第一个整数,最后再将临时变量的值赋给第二个整数。但是代码中的第三行 "*p2 = *p1;" 实际上是将第一个整数的值赋给了第二个整数,这样会导致两个整数的值相同,而不是实现交换。正确的代码应该是:
```
void swap1(int *p1, int *p2) {
int t;
t = *p1;
*p1 = *p2;
*p2 = t;
}
```
此外,main函数中没有输出结果的语句,你可以添加一个printf语句来输出交换后的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)