使用C++运行此程序:不改变整型变量a, b, c的值,利用指针变量*p1,*p2,*p3交换实现 上述三个数由大到小的排序和输出
时间: 2024-02-09 21:11:57 浏览: 57
好的,以下是代码:
```c++
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20, c = 5;
int *p1, *p2, *p3;
p1 = &a;
p2 = &b;
p3 = &c;
// 比较a、b、c的大小,交换指针变量的指向
if (*p1 < *p2) {
int *temp = p1;
p1 = p2;
p2 = temp;
}
if (*p1 < *p3) {
int *temp = p1;
p1 = p3;
p3 = temp;
}
if (*p2 < *p3) {
int *temp = p2;
p2 = p3;
p3 = temp;
}
// 输出排序后的结果
cout << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```
这里同样定义了三个整型变量a、b、c,以及三个指针变量p1、p2、p3。通过将p1、p2、p3分别指向a、b、c,就可以通过*p1、*p2、*p3来访问a、b、c的值。
在代码中,通过比较*p1、*p2、*p3的大小,交换指针变量的指向,从而实现了三个数由大到小的排序。最后输出排序后的结果。这样做并不改变a、b、c的值,只改变了指针变量的指向。
阅读全文