onSurvival 2022-01-06 18:49 采纳率: 100%
浏览 86
已采纳

int a=12; a /=a+a的值为什么是0呢

如题:

int a=12;
  
   a /=a+a的值为什么是0呢

或者说,因为结果是0.5,被整型定义变成了0.

那么有没有办法让0.5的这个结果完整的演示出来?

我想的是:

 int a=12;
    double t;
    t=a /=a+a;
  
    cout << t;

但是不论是double  t  还是float  t  的输出结果都是0,这是为什么呢?

  • 写回答

4条回答 默认 最新

  • _GX_ 2022-01-06 18:56
    关注
    int a = 12;
    double t = double(a) / (a+a) // 你需要在计算除法运算之前把其中一个操作数转换为浮点数,否则按整除处理,得到的结果就是0
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 1月7日
  • 创建了问题 1月6日