c语言 若已定义:int a[3][4]={1,3,5,6,9},*P=a[2];则p-a的值是 ()?求过程

如题所述

p是指向数组第三列的地址值
a是指向数组第一列的地址值
所以 p-a 其实就是两个地址的差值,实际就是前两列数据所占的存储空间 4*2*2=8个字节追问

为什么乘两个2

追答

8*2*2=16 刚算错了
第一个2是两行数列
第二个2是因为一个int型数据占两个字节

追问

我这边标准答案是8 奇怪

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-05
a[2]是在第三行开头嘛,一行4个,两行就是8