上机内容:C++程序的编写和运行
上机目的:掌握简单C++程序的编辑、编译、连接和运行的一般过程
我的程序:
上机目的:掌握简单C++程序的编辑、编译、连接和运行的一般过程
我的程序:
/*
Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者:赵玲玲
* 完成日期:2013 年 12 月 10 日
* 版 本 号:v1.0
* 输入描述: 1 2 3 4 5 6 7 8
* 问题描述:指针简单运用,将数组中的元素按逆序输出
* 问题分析: 用指针指向数组,*(p+i)就是a[i]
*/
#include <iostream>
using namespace std;
const int N=8;
int main()
{
int a[N],*p,*q;
for(p=a; p<a+N; p++) //p=a,就是给p赋值了a数组的第一个元素的地址
{
cin>>*p; //cin>>a[N],应该是将输入的数组的所有元素的地址都赋给p
}
p=a;
q=a+N-1;
while(p<q)
{
int r=*p;
*p=*q;
*q=r;
p++;
q--; //不断变化,逐个给p和q赋值
}
for(p=a; p<a+N; p++)
{
cout<<*p<<' ';
}
cout<<endl;
return 0;
}
运行结果:
心得体会:指针指向数组元素这块还挺绕,不熟练不行啊
知识点:p=a,只是将a数组中的第一个元素的地址给了p,但是*(p+i)=a[i].同时要注意不要越数组的界