当我将两个整数相除时,为什么static_cast不起作用?

时间:2019-10-02 00:47:39

标签: c++ visual-c++ static-cast

这个问题是关于C ++代码的。我有两个整数a和b,我想将一个除以另一个并将答案存储为双精度。但是当我输入以下代码时:

int a = 3, b = 7;
double d = static_cast<double>(a/b);
cout<<d<<endl;

我得到0。我不明白为什么。请帮忙。

1 个答案:

答案 0 :(得分:3)

因为您仍在划分两个ints。结果仍然是int(0),然后将那个int转换为double并打印。尝试先强制转换其中一个操作数,然后除法。