第17周 利用指针逆序输出数组
来源:互联网 发布:适合高中生的淘宝店铺 编辑:程序博客网 时间:2024/05/18 03:01
#include <iostream>using namespace std;const int N=100;int main(){ int a[N],n,*p,*q; cin>>n; for(p=a; p<a+n; p++) cin>>*p; p=a; q=a+n-1; while(p<q) { int r=*p; *p=*q; *q=r; p++; q--; } for(p=a; p<a+n; p++) cout<<*p<<' '; cout<<endl; return 0;}
运行结果:
总结:由于懈怠和沉迷,我对指针这部分的知识掌握的很不好,即使是这么一个简单的题目也让我绞尽脑汁,仍然没做出来,只能参考了同学的博客然后自己单步执行了一下,刚看到代码时,对于for语句中的判断条件p<a+n和while循环的部分很不理解,经过单步执行,我明白了第一个for语句就是用来输入a[N]数组的,只是采用的指针的形式,是对a[N]元素对应的存储空间的操作,没有直观体现其数据变化;程序中while语句部分,是讲数组逆序的关键,通过之前对p,q的赋值,是p为a[N]第一个元素对应的地址,q为第n个元素对应到地址,通过while循环中的语句逐渐向中间靠拢,同时交换数值,由于p,q对应的地址是不变的,因此可做判断条件。
0 0
- 第17周 利用指针逆序输出数组
- 指针逆序输出数组
- 第16周项目2利用指针逆序输出一组数
- 第16周oj--逆序输出数组
- 第16周-逆序输出数组
- 第17周 利用指针得到两个数组中相同的数并输出
- 第十六周OJ项目1逆序输出数组(指针)
- 第十六周OJ——1 指针逆序输出数组
- 第13周Problem A- 数组逆序输出
- 第16周 oj题目(逆序输出数组)
- 第16周Problem A: 逆序输出数组
- 第16周OJ项目1-逆序输出数组
- 第16周上机实践项目1--逆序输出数组
- 第16周OJ题-逆序输出数组
- 利用指针对数组&句子进行逆序
- 第十三周---数组逆序输出
- 使用函数和指针实现数组的逆序输出
- 逆序输出(指针)
- Model-View-ViewModel for iOS
- touch up inside 和 touch down 的区别
- Android中背光系统架构
- 目前的开源ESB产品
- 梳理
- 第17周 利用指针逆序输出数组
- Unity鼠标拖拽物体
- MFC光标移动到按钮上时编辑框显示时间,并显示光标的窗口位置和客户区位置
- 五大开源ESB项目
- Android之再现Adapter用法总结
- 在iOS中如何设置默认语言
- Android 自定义ViewGroup (一)
- 对Android项目中的文件夹进行解释
- arcgis api for flex 鹰眼 可动态缩放