展开全部
题目有问题
int c[2][3];表示c有2排3列,c语言中数组下标从0记起,c[2][1]相当于c的第3排第2列,属于越界操作,使用了c后面的第2个int
按照一般的规则来说c后面的第二个int应该是j,循环过后j的值为3,打印出来的应该是3
但一些编译器生成的栈中变量的顺序、间隔以及未初始化区域的默认值都有差异,打印出来的值也不尽相同
可能出题者的意思是printf("%d", c[1][2]);但写代码时把1和2写反了位置,所以才会这样,c[1][2]的值正好就是13
int c[2][3];表示c有2排3列,c语言中数组下标从0记起,c[2][1]相当于c的第3排第2列,属于越界操作,使用了c后面的第2个int
按照一般的规则来说c后面的第二个int应该是j,循环过后j的值为3,打印出来的应该是3
但一些编译器生成的栈中变量的顺序、间隔以及未初始化区域的默认值都有差异,打印出来的值也不尽相同
可能出题者的意思是printf("%d", c[1][2]);但写代码时把1和2写反了位置,所以才会这样,c[1][2]的值正好就是13
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询