C语言,输出小数的问题

[复制链接]
查看11 | 回复5 | 2013-3-16 21:12:36 | 显示全部楼层 |阅读模式
sum=n/p;由于n,p都是整形,所以得到的结果也是整数,如果想不修改声明就得到浮点数,可以这么写:sum=(n/1.0)/p;就行了~~n/1.0得到的是浮点数,浮点数和整数之间的运算,编译器会自动转换为浮点数进行计算,得到的就是你想要的结果~...
回复

使用道具 举报

千问 | 2013-3-16 21:12:36 | 显示全部楼层
C语言里面 ,如果除数和被除数都是整数,则为整除如果你把sum=n/p; 改成sum = 1.0 * n / p;就可以得到浮点数了...
回复

使用道具 举报

千问 | 2013-3-16 21:12:36 | 显示全部楼层
n和p都是int型的,n/p的结果也会被转化为整形。如果要得到2.33,定义的时候应该这样:float n = 7,p = 3....
回复

使用道具 举报

千问 | 2013-3-16 21:12:36 | 显示全部楼层
n/p;得出的结果是整形,但是 sum 是 float 类型,但是 "%.2f” 你只要两个小数,所以就是2.00...
回复

使用道具 举报

千问 | 2013-3-16 21:12:36 | 显示全部楼层
n/p;是int类型,结果是int类型,强制转换一下就行sum=(double)n/p;或者把n和p都定义成double类型的。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行