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

这道题结果为什么是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=%dn",*p,x,y);}
最老土 1年前 已收到1个回答 举报

风魔4668 春芽

共回答了23个问题采纳率:87% 举报

#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=%dn",*p,x,y);
}

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.041 s. - webmaster@yulucn.com