考虑以下几点:
int num = 5;
double total = num / 2;
说 num/2
的商不是 double
是否正确,因为您需要将 int
解析为 双
?
最佳答案
技术上的答案是 /
运算符在给定两个整数时生成一个整数。此计算独立于其分配给 double
变量。
您实际上确实在变量 total
中得到了一个 double 值,但它是 2.0,而不是 2.5。整数 2 在初始化时被强制转换为 2.0。
如果你想要 2.5,你的选择是:
double total = num / 2.0;
double total = (double)num / 2;
简而言之,这不是解析问题,而是 C++ 运算符语义之一。希望这是有道理的。
关于c++ - 两个整数的商的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328745/