(1)指针的基本操作(1)
下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序
- #include <iostream>
- using namespace std;
- int main( )
- {
- int *p1,*p2,a,b,t;
- cin>>a>>b;
- p1=&a;
- p2=&b;
- //下面加入的代码,只许出现p1,p2和t,不许出现a和b
- cout<<"Max="<<a<<" Min="<<b<<endl;
- return 0;
- }
解答:
- #include <iostream>
- using namespace std;
- int main( )
- {
- int *p1,*p2,a,b,t;
- cin>>a>>b;
- p1=&a;
- p2=&b;
- //下面加入代码,只许出现p1,p2和t,不许出现a和b
- if(*p1<*p2)
- {
- t=*p1;
- *p1=*p2;
- *p2=t;
- }
- cout<<"Max="<<a<<" Min="<<b<<endl;
- return 0;
- }
(2)指针的基本操作(2)
- 下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序
- #include <iostream>
- using namespace std;
- int main( )
- {
- int *p1,*p2,t;
- //本程序以下不准再加入新的变量,下面用new操作符分配空间,并用p1、p2分别保存其地址
- //下面输入两个整数。若无上面分配的空间,这样操作指赂的空间,极其危险
- cin>>*p1>>*p2;
- //下面加入的代码,只许出现p1,p2和t,不许出现a和b
- cout<<"Max="<<*p1<<" Min="<<*p2<<endl; //p1和p2指向的分别是大值和小值,无论输入大小
- //下面写释放p1和p2所指向空间的语句
- return 0;
- }
解答:
- #include <iostream>
- using namespace std;
- int main( )
- {
- int *p1,*p2,t;
- //本程序以下不准再加入新的变量,下面用new操作符分配空间,并用p1、p2分别保存其地址
- p1=new int;
- p2=new int;
- //下面输入两个整数。若无上面分配的空间,这样操作指赂的空间,极其危险
- cin>>*p1>>*p2;
- //下面加入的代码,只许出现p1,p2和t,不许出现a和b
- if(*p1<*p2)
- {
- t=*p1;
- *p1=*p2;
- *p2=t;
- }
- cout<<"Max="<<*p1<<" Min="<<*p2<<endl; //p1和p2指向的分别是大值和小值,无论输入大小
- //下面写释放p1和p2所指向空间的语句
- delete p1;
- delete p2;
- return 0;
- }