【发布时间】:2019-12-02 05:02:26
【问题描述】:
在处理 int 和 float 数字时,我在 print 函数中看到异常行为。
float y = 9/5;
printf("%f", y);
printf("%f", 9/5);
第一个打印语句输出 1.000000,这是可以接受的,而其他输出 0.000000。 为什么两种情况下的输出不同?
【问题讨论】:
-
由于
9/5的两个操作数都是整数,所以除法的结果也是整数(1)。%f转换说明符需要float或double操作数。 -
重复是
printf("%f", 9/5);的第一个谷歌搜索结果
标签: c floating-point printf