首先B也有问题,少了“}”,暂且算打印错误吧。
对于D而言,数组的初始化方式有两种,一种是缺省的初始化,例如int a[5];,那么数组里的值将未定义,一种是int a[5]={1};虽然只定义了a[0]的值是1,但是计算机会默认把后面没有定义的全部置0。但是int a[5]={}就非法了,因为没有这种初始化方式,同理,你的二维数组在逻辑上就是一个数组里面的成员全部是数组。所以要按照数组的初始化方式,int a[ ][3]={ {1,0,1},{0 },{1,1} };此处不可缺省{0},因为二维数组你列数是根据{}的数量决定的,缺省了{0}就变成 int a[2 ][3]了
每一行必须三项,可以是任意行。D后面项数不对