因为生活感到鸭力,小gen决定重拾C语言,重温大一学C时的欢脱岁月~
好的,那么问题来了,如何正确输出8 / 5=1.6呢?这是看似简单却又很有意思的问题。
第一次尝试
#include <stdio.h>
int main()
{
printf("%f\n",8/5);
return 0;
}
令人挠头的结果,怎么着也应该是1.000000吧?我查了资料,原因比较复杂,和计算机体系结构有关,涉及到越界访问问题,还是不要深究了balabala.......
第二次尝试
#include <stdio.h>
int main()
{
printf("%f\n",8.0/5);
return 0;
}
很好,已经接近正确答案了 ~~~那么如何保留一位小数呢?
第三次尝试
#include <stdio.h>
int main()
{
printf("%.1f\n",8.0/5);
return 0;
}
Bingo !!!