正文

C++ 第6章指针 6.2.2 引用指针变量[续]2008-09-30 13:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/38579.html

分享到:



 

6.7
6.2 输入ab两个整数,按先大后小的顺序输出ab(用指针变量处理)
解此题的思路是: 设两个指针变量p1p2,使它们分别指向ab。使p1指向ab中的大者,p2指向小者,顺序输出*p1,*p2就实现了按先大后小的顺序输出ab。按此思路编写程序如下:
 
#include <iostream>
using namespace std;
int main( )
{
int *p1,*p2,*p,a,b;
cin>>a>>b;                             //输入两个整数
p1=&a;                                 //使p1指向a
p2=&b;                                 //使p2指向b
if(a<b)                                //如果a<b就使p1p2的值交换
{p=p1;p1=p2;p2=p;}                    //p1的指向与p2的指向交换
cout<<a=<<a<< b=<<b<<endl;
cout<<max=<<*p1<< min=<<*p2<<endl;
return 0;
}
运行情况如下:
 
4578
a=45 b=78
max=78 min=45
输入a的值45b的值78,由于a<b,将p1的值和p2的值交换,即将p1的指向与p2的指向交换。交换前的情况见图6.8(a),交换后的情况见图6.8(b)
 
请注意,这个问题的算法是不交换整型变量的值,而是交换两个指针变量的值。

阅读(1406) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册