鉴于以下 ANSI C 代码,我想知道结果:
main() {
int a = 19.4 / 9.7; // result = 2
float b = (int) 19.4 / (int) 9.7 // result = 2.000000, why?
float c = (int) 9.7; // result = 9
}
我知道 C 会在转换为 int 时去掉所有小数位,但如果我看到第二行,我的逻辑就有缺陷。如果小数位被删除,结果必须是 2.11111。
在 ANSI C 中如何进行浮点转换?