为什么static_cast除以两个整数时不起作用?

Why doesn't static_cast work when I divide two integers?

提问人:Alex 提问时间:10/2/2019 最后编辑:Nicol BolasAlex 更新时间:10/2/2019 访问量:336

问:

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

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

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

C 可视化 C++ 静态强制转换

评论


答:

3赞 Hatted Rooster 10/2/2019 #1

因为你还在除以两个.结果仍然是 (0),然后将其转换为 a 并打印出来。尝试先转换其中一个操作数,然后再除法。intsintintdouble