首页 > 格式转换问题

格式转换问题

今天在看一本算法竞赛入门的书,看到有个简单的问题,在电脑上实验下,结果大跌眼镜,但是不理解,各位在此讨论讨论.

printf("%.1f\n",8.0/5.0);//毫无疑问1.6
printf("%d\n",8.0/5.0);//这个呢?
printf("%.1f\n",8/5);//这个呢?

计算机中的数据归根结底只是一串0和1的数据,具体怎么解释要看计算机如何看待这串字符串

printf("%.1f\n",8.0/5.0);

这句话%.1f表示将数据以浮点格式来解释,8.0/5.0产生的也正好是浮点值,所以结果一致
至于后面两句,都是产生的结果与要解释的类型不匹配,所以也就产生令人不解的结果了

【热门文章】
【热门文章】