c++关于指针的两个函数,有助于加深对指针的理解。
即对输入的两个整数按大小顺序输出
#include <iostream>
using namespace std;
int main()
{
void swap(int *p1, int *p2); //函数声明
int *pointer_1, *pointer_2, a, b; //定义指针变量pointer_1,pointer_2
cin >> a >> b;
pointer_1 = &a;
pointer_2 = &b;
if (a < b) swap(pointer_1, pointer_2);
cout << "max=" << a<<" min=" << b << endl;
system("pause");
return 0;
}
void swap(int *p1, int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
输入a,b,c 3个整数,按由大到小的顺序输出
#include <iostream>
using namespace std;
int main()
{
void exchange(int *q1, int *q2, int *q3); //对exchange函数的声明
int a, b, c, *p1, *p2, *p3;
cin >> a >> b >> c; //输入3个整数
p1 = &a; p2 = &b; p3 = &c;
exchange(p1,p2,p3);
cout << a << " " << b << " " << c << endl;
system("pause");
return 0;
}
void exchange(int *q1, int *q2, int *q3)
{
void swap(int *pt1, int *pt2); //对swap函数的声明
if (*q1 < *q2) swap(q1, q2);
if (*q1 < *q3) swap(q1,q3);
if (*q2 < *q3) swap(q2,q3);
}
void swap(int *pt1, int *pt2){
int temp;
temp = *pt1;
*pt1 = *pt2;
*pt2 = temp;
}