注册 登录
编程论坛 C语言论坛

大家帮我看看这个程序有啥问题

黑暗骑士5D 发布于 2019-11-07 19:53, 1526 次点击
int main()
{
    int cm;
    int foot,inch;
    scanf("%d",&cm);
    foot= cm/100.0/0.3048;
    inch= 12*(cm/100.0/0.3048-foot);
    printf("%d %d\n",foot,inch);
    return 0;
}


这个中间的 /100.0/0.3048 和/100/0.3048  以及  /30.48  这三种情况有区别吗
4 回复
#2
c小白23332019-11-07 21:41
不一样
第一个 /100.0/0.3048
/100.0执行完毕后得到一个浮点数 含有小数位
所以准确 正确
第二个 /100/0.3048
/100执行完毕后得到整型 1
接下来运算不完整 错误
第三个 与第一个一样
#3
黑暗骑士5D2019-11-08 21:16
回复 2楼 c小白2333
为什么第三个和第一个一样呢
#4
forever742019-11-08 21:44
int变量放不下浮点数,谢谢。
#5
c小白23332019-11-09 21:16
回复 3楼 黑暗骑士5D
自己想想也就知道了
没有经过 整型变换 丢掉一些小数
不就和第一个一样了吗
1