C语言 除法

[复制链接]
查看11 | 回复4 | 2009-8-7 23:56:53 | 显示全部楼层 |阅读模式
#include void main(){printf("%f\n",4.0/16);}如果是以上这样的话,结果是0.250000因为float是精确到小数点后6位的.所以在不加限制的情况下是0.25000如果是#include void main(){printf("%d\n",4.0/16);}那么结果是0.因数4除16等于0.25小于1舍去.就变成0了.(在这里C语言没有四舍五入,一律舍!)不知道是不是你想要的答案?
回复

使用道具 举报

千问 | 2009-8-7 23:56:53 | 显示全部楼层
a/b 表示a除以b,但是需要注意,当a、b均为整形时,运算为求出不大于商的最大整数,如10/7 = 1,5/2 = 2, 13 / 4 = 3相对应,a%b表示求a除以b的余数如果要实数除法,需要转换操作数为浮点型
回复

使用道具 举报

千问 | 2009-8-7 23:56:53 | 显示全部楼层
不用一致刚才用4.0/6试了下,是0.666666
回复

使用道具 举报

千问 | 2009-8-7 23:56:53 | 显示全部楼层
汗。不知道楼上用的是哪个世纪的编译环境??楼主,现在的编译环境float或者double,一般默认为小数点后面有6位小数。多于6位的小数,小数点部分自动四舍五入。所以4.0/16=0.250000.顺便提一下。整数常量电脑会默认他为整形。小数常量电脑会默认他会浮点型。整形/整形=整形浮点型/整形 或者 整形/浮点型=浮点型。。跟负正为负,一个道理。所以当4/16的时候,两个都是整形。所以结果也是整形为0楼主自己上机一试便知自己实验就行了
回复

使用道具 举报

千问 | 2009-8-7 23:56:53 | 显示全部楼层
这个要看你怎么用function,float是默认小数位后两位,不用在input里放小数点也可以,看书阿,要细节吗? 你们楼下的不会不要误导别人。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行