int i = 5;
int j = 3;
int k;
double a, b;
k = j / 2 * i / 10;
a = 0.1 * i * j / 2.0;
b = 0.1 * (j / i) + 3.0;
因此,通过手工计算,可以得到 k=0.75、a=0.75 和 b=3.06。然而,当我在 Visual Studio 中解决它时,我得到 0、0.75 和 3.00。我希望有人能阐明这一点。我知道 int 意味着只能输出整个值,但为什么 b = 3.00 而不是 3.06 因为 b 是 double 值?
最佳答案
您的所有变量都应该是double
,因为如果它们是int
,则会进行整数运算,并且您的结果将不包含小数位。
double i = 5;
double j = 3;
double k;
double a, b;
k = j / 2 * i / 10;
a = 0.1 * i * j / 2.0;
b = 0.1 * (j / i) + 3.0;
关于c - 定义为 double 和 int 的函数的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35594379/