这个为什么a是合法的?

若有定义int a[2][3]; 则对数组元素的非法引用是( )。
A.
a[0][1/2]

B.
a[1][1]

C.
a[4-4][0]

D.
a[0][3]

1/2 = 0啊

因为1/2等于0.一个整数除以另一个整数结果也是整数,所是1/2=0,不是等于0.5

1/2 = 0所以a[0][0]合法,一般非法就是数组越界,比如int a[2][3]; ,第一个括号的值不能大于等于2,第二个括号的值不能大于等于3
所以D不合法