永发信息网

已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a(3))]的值

答案:2  悬赏:70  手机版
解决时间 2021-11-25 00:17
  • 提问者网友:呐年旧曙光
  • 2021-11-24 07:46
已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a(3))]的值
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-11-24 08:34
a[*(a+a(3))] 应该不带这么写的吧...在我这里就编译不通过a(3) 会报错,说没有这样的函数....
我改成这样a[*(a+a[3])]就能输出0了
由内而外分析...首先开个数组,其各个元素的对应的内存是连续的
a是数组的首地址,指向的内存放着8的信息,而a[3]很容易知道是等价于5
即内部是a+5 这时a+5表示的是a指向内存,往后数五个int内存单元,则移到了存放4的内存空间
然后* 引用 *(a+5)就是4
最后a[4]得到0
全部回答
  • 1楼网友:山河有幸埋战骨
  • 2021-11-24 09:00
首先a[3]得到5,a+a[3]即a+5,a表示指针,所以a+5表示数组a的头指针下移5个单元,即指向a[5]的指针,所以再加上*,得到a[5]的值4,最后就是a[4]即0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯