int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a;求 *(*(a+2)+2)的含义(或值

如题所述

值是9,int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};是定义一个二维数组,他有3列 由后面的十二个元素可知它有4列。int*p=a;是定义一个实数指针, *(*(a+2)+2)就是指数组a[2][2所以是9.(下标从0开始算)]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-21
*(*(a+2)+2)的值为9 ,即a[2][2] 的值。
分析如下:
a 为a[0]的首地址. a+2 为 a[0] 地址移动2个单元长度, 即移动到a[2] 地址;
*(a+2) 为a[2]的首地址,即a[2][0] 地址, *(a+2) + 2 为 a[2][0] 的地址移动2个单元 即 a[2][2]的地址.
*(*(a+2)+2) 为a[2][2] 地址上的值.
所以 *(*(a+2)+2) 的值为 9 .
第2个回答  2010-12-23
*(a+2)=a[2]=7

int a[ ]=,*P=a+3;后p指向a[3],
再次*p=a+3,是错误的,把指针a[3]付给了int型*p,即:a[3],但是这些都跟*(a+2)即:a[2]无关

错题!
第3个回答  2010-12-21
*(*(a+2)+2) 就是a[2][2]啊,其值为9。
相似回答