/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:read.cpp
*作 者:刘天恩
*完成日期:2014年12月4日
*版 本 号:v1.0
*
*问题描述:下面的程序,输入10 100和100 10,均可以输出max=100 min=10,用new和delete运算符进行动态分配的撤销存储空间
*程序输出:输出max=100 min=10
*/
#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;
}
运行及如果:
学习心得:
学会用new和delete运算符进行动态分配的撤销存储空间,开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)。如果用new返回的地址赋给了指针变量p1,p2,则应该用delete运算符撤销该空间。