回复 3楼 aa59710014
看了楼主的另外一个贴,感觉楼主的基础还需加强,有问题当然是好事,但现在你没必要去纠结这些问题,到你对C有了一些了解之后就迎刃而解了,你注意一下这个问题,%f指的是以单精度浮点方式输出,但是你觉得1/3*3它的结果是什么类型?首先1是整数,3也是整数,在C中,两整数做除法运算其实是进行整除运算,也就是1/3它的结果是0,然后它的结果又与3相乘结果还是0,所以printf("%f",1/3*3);就相当于printf("%f",0);所以输出0.000000。但是如何进行小数除法呢?这很简单,只要在除法操作中,不管是被除数还是除数中有一个是浮点数,则执行的是小数除法,所以之需要改为printf("%f", 1.0/3*3);即可,1.0/3由于被除数1.0是浮点数(小数),所以结果为0.333333(即1/3),然后再与3相乘,结果差不多是1。
[
本帖最后由 lz1091914999 于 2012-9-18 14:03 编辑 ]