为什么打印的是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;
}
您通过传递printf()
错误的类型调用了未定义的行为,并偶然得到了结果。
%f
用于打印double
,而不是int
。 若要打印int
,应使用%d
。
它不是打印零,实际上,它是返回0,每当有错误时,这就会发生。
代码的错误是您使用了%f
用于打印double
,因为您的输入形式是int
,所以您需要使用%d
。 这将解决错误,因此不会返回0