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,这是为什么呢?

int a = 12;
double t = double(a) / (a+a) // 你需要在计算除法运算之前把其中一个操作数转换为浮点数,否则按整除处理,得到的结果就是0

这个你只能转化一下你的a的类型

double a = 12;
double t;
t = a /= a + a;

a /=a+a的值为什么是0呢
因为:整数a=12; a=a/(a+a); a = 12/24 默认向下取整 为0。
那么有没有办法让0.5的这个结果完整的演示出来?
有 将a强制类型转换为double类型就行了
t = double(a) / (a+a);
希望对题主有所帮助,望采纳!!