请分析以下代码,理解指针与数组的关系、指针运算。
#include<stdio.h>
int main(){
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,*p1,*p2,*p3;
p1=a,p2=a+5,p3=a+7; //相当于 p1=&a[0],p2=&a[5],p3=&a[7];
printf("%ld,%ld,%ld\n",p1,p2,p3); //输出指针的值(数组元素地址值)
printf("%d,%d,%d\n",*p1,*p2,*p3); //输出指针指向变量的值
printf("%d,%d\n",p1-p2,p2-p1); //指针减法
printf("%d,%d\n",p1>p2,p1==a); //指针与指针的关系
for(p1=a;p1<a+10;p1++) //通过指针遍历数组
printf("%d ",*p1);
return 0;
}
编程读入若干整数(不超过50个)到数组中,然后倒序输出,遍历数组时用指针实现。
输入样例:
1 5 25 18 -299
输出样例:
-299 18 25 5 1
代码:
#include<iostream>