#include <stdio.h>
int main()
{
int i = 2, j = 4;
float b;
b = j / i * i;
printf("%f\n", j / i * i);
printf("%f\n", b);
return 0;
}
输出是
-1.#QNAN0
4.000000
这段代码
#include <stdio.h>
int main()
{
int i = 2, j = 4;
float b;
b = j / i * i;
printf("%f\n", b);
printf("%f\n", j / i * i);
return 0;
}
提供输出
4.000000
4.000000
为什么会这样
我尝试在 vs code 中运行它,但结果并不符合预期。
启用所有编译器警告。
将打印说明符与参数类型相匹配。
"%f"
期待 float/double
。由于 i, j
是 int
,所以 j / i * i
也是一个 into。