​95. 若有定义:int a[3][3];则表达式&a[2][1]-a的值为( )。

95. 若有定义:int a[3][3];则表达式&a[2][1]-a的值为( )。
A. 7
B. 8
C. 6
D. 9 

麻烦会的大神帮忙详细解析下,谢谢

包小龙虾
浏览 2499回答 2
2回答

望远

首先&a[2][1]指的是二维数组a中第三行第二列的元素地址,即第8个元素;a指的是数组a中首元素的地址因此&a[2][1]-a指的是两地址之间的字节数个数,一共跨越7个元素,在前提条件一个元素一个字节空间下选A

onemoo

我能理解这道题想考什么,但这题目出得十分不严谨。因为:&a[2][1]-a 是一个不合法的表达式!减号左侧是 int * 类型,而运算符右侧是 int (*)[2] 类型,两侧类型不符且无法隐式转型,所以表达式不合法。 应该说这个代码都无法编译。这道题目毫无价值,别告诉我这就是 C 二级的题库啊...
打开App,查看更多内容
随时随地看视频慕课网APP