首页 新闻 搜索 专区 学院

c语言指针问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2021-03-31 14:55

为什么arr[2]运行出来是1啊?这个怎么理解?

include <stdio.h>

define N 6

void pointer_self_add(){
int arr[N]={1,2,3,4,6,5};
int *p;
int j;

p=arr;
j=*p++;//把p赋值给j,在++
printf("%d,%d,%d\n",arr[0],j,*p);


j=p[0]++;//把p[0]赋值给j,然后对p[0]++,
//等价于(*p)++ 
printf("%d,%d,%d\n",arr[2],j,*p);

}

int main(){
pointer_self_add();
return 0;
}

c
向死即生的主页 向死即生 | 初学一级 | 园豆:122
提问于:2021-03-31 14:21
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册