如果我写的话,为什么c ++ double不起作用:
int a, b;
double c;
a=11;
b=2;
c=a/b;
根据我的正确答案应该是5,5但它只写5个人知道如何解决这个问题?
答案 0 :(得分:3)
int
与另一个int
的划分产生int
。这是在将商分配给double
变量之前发生的。
要解决此问题,请将至少一个int
值投射到double
。换句话说,改变这个:
c=a/b;
到此:
c = static_cast<double>(a) / b;
答案 1 :(得分:0)
a必须加倍,或浮动
double a,b,c;
那将会工作