#include <stdio.h>
int main() {
float k;
scanf("%f", &k);
printf("%f", k);
}
Run Code Online (Sandbox Code Playgroud)
在这个简单的程序中,当我输入一个包含最多8位数的数字时,它会正确显示.
但如果我超过8位,即输入123456789输出123456792.
为什么会这样?那么有趣的事实是,如果我输入的任何数字,123456789并且123456796然后它总是显示123456792.
它是否与浮点数的8位小数精度有关?