作业帮 > 综合 > 作业

这道题结果为什么是1,3,5而不是4,3,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 01:09:51
这道题结果为什么是1,3,5而不是4,3,
#include "stdio.h"main(){int a[]={1,2,3,4,5};int x,y,*p;p=&a[0];x=*(p+2); y=*(p+4);printf("*p=%d,x=%d,y=%d\n",*p,x,y);}
#include "stdio.h"
int main()
{
int a[]={1,2,3,4,5};
int x,y,*p;
p=&a[0];    //让p指向a[0]
//取离p指向的位置距离2的元素的值
x=*(p+2);   //相当于   x=a[2]
 //取离p指向的位置距离4的元素的值
y=*(p+4);   //相当于  y=a[4]
//而实际上p的指向没有发生改变
//所以 *p=a[0];
//下面的输出语句就相当于输出a[0],a[2],a[4]的值
//当然就是1,3,5
printf("*p=%d,x=%d,y=%d\n",*p,x,y);
}