【发布时间】:2018-10-28 12:40:50
【问题描述】:
谁能解释以下代码的输出: http://cpp.sh/9dy44
为什么最后一行总是0.17?
float a = 17, b = 100;
printf("%f\n", 17/100);
printf("%f\n", a/b);
printf("%f\n", 17/b);
printf("%f\n", 17.0f/b);
printf("%f\n", a/100);
printf("%f\n", a/100.0f);
printf("%f\n", 5/100);
输出
0.000000
0.170000
0.170000
0.170000
0.170000
0.170000
0.170000
【问题讨论】:
-
UB 这里是
... "%f\n", 17/100);剩下的都是(坏)运气,