指针实现三个整数的排序
#include <iostream>
using namespace std;
void sort3(int *p1, int *p2, int *p3)
{
int temp;
if (*p1 > *p2)
{
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p1 > *p3)
{
temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if (*p2 > *p3)
{
temp = *p2;
*p2 = *p3;
*p3 = temp;
}
}
int main()
{
int a, b, c;
cin >> a >> b >> c;
sort3(&a, &b, &c);
cout << a << " " << b << " " << c <<endl;
}
- 调用
sort3
函数,并传入&a
、&b
、&c
作为参数,这里的&
符号是取地址运算符,意味着将变量a
、b
、c
的地址传递给sort3
函数,这样sort3
函数就能通过指针操作修改这三个变量的值了。 - 最后通过
cout << a << " " << b << " " << c << endl;
语句将经过排序后的a
、b
、c
的值输出到控制台,按照从小到大的顺序显示出来,endl
用于输出一个换行符,使输出结果更美观易读。