永发信息网

C语言问题,整数问题。

答案:2  悬赏:70  手机版
解决时间 2021-05-19 19:39
  • 提问者网友:凉末
  • 2021-05-19 08:43

在tc2.0中运行如下程序:

#include<stdio.h>
void main()
{
int a,b=90;
a=b*1.2+30;
printf("%d\n",a);
a=90*1.2+30;
printf("%d\n",a);
}

输出的结果为:

137

138

谁能告诉我,为什么会不一样?

最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-05-19 09:03

因为浮点运算会有些误差的,而浮点转整数又会截断,137.99999直接转成int就是137

全部回答
  • 1楼网友:孤老序
  • 2021-05-19 10:37
应该是上面那个跟变量b乘的数 程序会自动化为整数,而下面的90不是变量而是实际的数,在java里是不能这样写的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯