为了账号安全,请及时绑定邮箱和手机立即绑定

结果与视频不一致。。。

  1 include <stdio.h>
  2 int main()
  3 {
  4     int a=3;
  5     int b=2;
  6     int array[3];
  7     array[0]=1;
  8     array[1]=10;
  9     array[2]=100;
 10     int *p=&a;
 11     int i;
 12     for(i=0;i<6;i++){
 13         printf("*p=%d\n",*p);
 14         p++;
 15     }
 16     printf("-------------------------------------\n");
 17     p=&a;
 18     for(i=0;i<6;i++){
 19         printf("p[%d]=%d\n",i,p[i]);
 20     }
 21 }
 22 
=====以下为输出======                                                                
*p=3
*p=1
*p=2
*p=-707193848
*p=32765
*p=1
-------------------------------------
p[0]=3
p[1]=1
p[2]=2
p[3]=-707193860
p[4]=32765
p[5]=1    
-------------------


正在回答

3 回答

INT类型的内存地址和数组内存地址不连续,而是差了16位,把int类型最后一个值的地址前加16再输出,会显示数组的值

1 回复 有任何疑惑可以回复我~

你的输出是对的,我的和你的一样,可能是你的代码和视频的代码不同

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

结果与视频不一致。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信