Why is this printing 0, instead of 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;
}
Why is this printing 0, instead of 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;
}
You invoked undefined behavior by passing printf() wrong type and you got the result by chance.
%f is for printing double, not int. To print int, you should use %d.
it is not printing zero, in reality, it is returning 0, this happens whenever there is error.
the error to your code is that you used %f which is for printing double, since you have input in form of int, you need to use %d. this will solve the error and hence not return 0.