指针实现三个整数的排序
#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用于输出一个换行符,使输出结果更美观易读。
