#include <stdio.h> void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } int main() { int a,b,c,*p1,*p2,*p3; ; //指针 p1 指向变量 a ; //指针 p2 指向变量 b ; //指针 p3 指向变量 c scanf("%d%d%d", ); //使用指针变量输入整数 if(a>b) ; //调用 swap 函数,交换 a,b 的值 if(a>c) ; //调用 swap 函数,交换 a,b 的值 if(b>c) ; //调用 swap 函数,交换 a,b 的值 printf("%d %d %d\n",*p1,*p2,*p3); //利用指针输出结果 return 0; }
时间: 2023-08-07 09:05:50 浏览: 209
#include <stdio.h>
4星 · 用户满意度95%
这段代码中存在一些错误,我来帮您修改一下:
```c
#include <stdio.h>
void swap(int *p1, int *p2) {
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a, b, c, *p1, *p2, *p3;
p1 = &a; //指针 p1 指向变量 a
p2 = &b; //指针 p2 指向变量 b
p3 = &c; //指针 p3 指向变量 c
scanf("%d%d%d", p1, p2, p3); //使用指针变量输入整数
if (*p1 > *p2) {
swap(p1, p2); //调用 swap 函数,交换 a,b 的值
}
if (*p1 > *p3) {
swap(p1, p3); //调用 swap 函数,交换 a,c 的值
}
if (*p2 > *p3) {
swap(p2, p3); //调用 swap 函数,交换 b,c 的值
}
printf("%d %d %d\n", *p1, *p2, *p3); //利用指针输出结果
return 0;
}
```
在这个代码中,我们首先定义了三个整数变量:a、b、c,以及三个指向整数变量的指针变量:p1、p2、p3。然后,通过`scanf`语句,从用户输入中获取这三个整数的值。
接下来,我们使用指针变量和`swap`函数来对这三个整数进行排序。在`swap`函数中,我们通过指针变量和临时变量temp来交换变量的值。在主函数中,我们使用`if`语句和指针变量来比较三个数的大小关系,然后调用`swap`函数来交换变量的值,实现了对三个数的排序。
最后,我们使用指针变量和`printf`语句将排序后的结果输出到屏幕上。
需要注意的是,在调用`swap`函数和使用`printf`语句时,我们需要使用指针变量来访问变量的值,即使用`*`符号来解引用指针。
阅读全文