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

问题描述 投票:0回答:1

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

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

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

visual-c++ type-conversion c++17 data-conversion static-cast
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.