技术答案是/操作符在给出两个整数时产生一个int.该计算独立于其对double变量的赋值而完成.
事实上,你做得到变量a double值total,但它是2.0,而不是2.5.在初始化中,整数2被强制转换为2.0.
如果你想要2.5,你的选择是:
double total = num / 2.0;
double total = (double)num / 2;
Run Code Online (Sandbox Code Playgroud)
简而言之,它不是解析问题,而是C++运算符语义之一.希望有道理.