定义了两个二维数组 一个存放字符串 一个存放数字 以一维数组输出printf(“%s,%d”,ch1,ch2);为什么存放数字二维的输出的是垃圾值?


Char ch [3][5]={"aaa","bbb","ccc","ddd"};

Int  a [4][2]={a,b,c,d};
printf(%s,%d,ch[2],a[2]);

ch是个二维char数组,所以ch[2]是个一维char数组,也就是一个字符串,所以用%s输出是没有问题的
而a是个二维int数组,a[2]是个一维int数组,你按%d去打印a[2],打印的是指针地址