为什么打印的是0,而不是6?
main(void) {
int i, j;
int T[3][3] = {{5,1,3},{3,5,6},{5,6,3}};
printf("%f", T[1][2]);
return 0;
}
答案 0 :(得分:2)
您通过传递错误的类型printf()
来调用未定义的行为,并且偶然得到了结果。
%f
用于打印double
,而不是int
。要打印int
,应使用%d
。
答案 1 :(得分:-1)
它不是打印零,实际上是返回0,只要出现错误,就会发生这种情况。
代码错误是因为您使用%f
来打印double
,因为您已经以int
的形式输入了输入,因此您需要使用%d
。这将解决错误,因此不会解决return 0
。