次のコードでは:
float x = 0.23;
int z;
z = x;
if (x)
printf("float %f will not be converted to 0!\n", x);
if (z)
printf("this will not print!\n");
if
浮動小数点数は整数に変換され、ステートメントで使用されるときにゼロかどうかがチェックされると思いました。誰かが私に説明してもらえますか、なぜそうではないのですか?
編集:
(何が混乱していたかを明確にするために)<
returnのような論理演算子なので、ステートメントは整数値を受け取るので、変換を行う必要があるint
と思いました。if
答えで指摘されているように、そうではありません。みんなありがとう!