问题 B: 指针的基本操作(2)



问题 B:

指针的基本操作(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;

}

输入

两个整数

输出

按规定的格式,输出大值和小值

样例输入

10 100

样例输出

Max=100 Min=10
/*
 *Copyright(c)2014,烟台大学计算机学院
 *All rights reserved.
 *文件名称:test.cpp
 *作者:杨汉宁
 *完成日期:2014年 12月 4日
 *版本号:v1.0
 *
 *问题描述:用指针比较两数大小
 *程序输入:
 *程序输出:
 */
#include <iostream>
using namespace std;
int main( )
{
    int *p1,*p2,a,b,t;
    cin>>a>>b;
    p1=&a;
    p2=&b;
    if(*p1<*p2)
    {
        t=*p1;
        *p1=*p2;
        *p2=t;
    }
    cout<<"Max="<<a<<" Min="<<b<<endl;
    return 0;
}


时间: 2024-09-18 05:53:33

问题 B: 指针的基本操作(2)的相关文章

指针和指针的基本操作

一. 指针简介 指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构: 能很方便地使用数组和字符串: 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序.指针极大地丰富了C语言的功能. 指针的基本概念 在计算机中,所有的数据都是存放在存储器中的. 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章中已有详细的介绍.为了正确地访问这些内存单元, 必须为每

指针和结构体知识学习

这一周主要学习了C语言中的最灵活的技巧 --指针.指针也是一个变量,它有自己的地址也有指向的地址,一般来说我们更关注的是指针指向的地址.指针的指向可以是整数.浮点数.字符.数组,同样的也可以是一个函数. 指针的基本操作有赋值.求值.取指针地址.将一个整数指针加给指针,增加指针的值.减小指针的值和求差值.如下程序所示: 1 /*ptr_ops.c - 指针操作*/ 2 #include <stdio.h> 3 int main() 4 { 5 int urn[5] = {100, 200, 30

【C语言学习】《C Primer Plus》第10章 数组和指针

学习总结 1.数组初始化方式: int a[]={1,2,3} int a[SIZE]={1,2,3} //SIZE是宏定义,数组初始化个数不能大于SIZE,否则报错:当个数小 //SIZE,自动补0:只定义不初始化,默认值是当前存储单元中已有的数值. int a[SIZE/不定长]={1,[3],2} //C99支持通过[int]=x来定义具体位置值,跳过的默认值为0. 2.通过const修饰的数组为只读数组,数组的每个元素当成常量来处理,如: const int a[2]={1,2}; co

玩转指针(Playing with Pointers)

Question: What is a Pointer? What are its limitations? What are its benefits? How do we use it? What all operation we can perform using it? In this article we are going to discover answers to all these questions. 指针是一个包含其它变量地址的变量,这里的其它变量可以是结构,数组或则其它基

用指针比较两数的大小(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; //下面加入的代码

C++基础-01

指针 - 指针的基本操作间接引用指针所指向的对象 - 机器一般按字节寻址,所以能够独立分配的最小空间是1字节,也就是说指针指向的 最小空间为1字节.特别地,对于bool变量,虽然实际需要的是1bit,但其大小是1字节. 如果需要更小的空间,可以使用按位运算或者位域 数组 - char*可以用字符常量来初始化,字符常量是静态存储,存放在字符常量区,所以不可以char* 修改char*指向的内容 - 字符数组也可以用字符常量来初始化,但是字符数组存放的是字符常量的一个拷贝,存储在栈上, 所以可以修改

数据结构(C实现)------- 链队列

链队列,即队列的链式存储结构,它是仅在表头删除和表尾插入的单链表,因此一个链队列需要设置两个分别指示队头元素和队尾元素的指针,为了操作方便,给链队列添加一个头结点,并令队头指针指向头结点,由此,空的链队列的判断条件就是队头指针和队尾指针均指向头结点. 链队列的类型描述: //链队列类型描述 typedef int QElemType; typedef struct node{ QElemType data; struct node *next; }QNode,*QueuePtr; typedef

[GO]变量内存和变量地址

package main import "fmt" func main() { var a int = 10 //每个变量都有两层含义,变量的内存和变量的地址 fmt.Printf("a = %d\n", a) //变量的内存 10 fmt.Printf("a = %v\n", &a) //变量的地址 0xc042060080 //保存某个变量的地址,需要指针类型, *int保存int的地址, **int保存*int的地址 //声明(定义

指针基本操作

// // main.c // 指针基本操作 // // Created by zhangxueming on 15/6/3. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #include <stdio.h> //地址: //变量定义在内存中, 也有自己的地址 //int a; //通过&获取变量在内存中的位置 //int main(int argc, const char * argv[]) { // in