我需要程序中这个变量的结果,但是我不明白为什么我不能得到正确的结果。
double r = pow((3/2), 2) * 0.0001;
printf("%f", r);发布于 2017-03-22 16:54:13
问题是整数除法,其中小数部分(余数)被丢弃。
尝试:
double r = pow((3.0/2.0), 2) * 0.0001;https://www.tutorialspoint.com/c_standard_library/c_function_pow.htm的第一个参数预期为双倍。由于比率:3/2使用整数值,传递给参数的结果是1。通过更改为浮动值,除法的结果可以保留小数部分,结果为1.5,这是函数所期望的形式。
发布于 2017-03-22 16:55:54
(3/2)包含两个整数,因此它是整数除法,结果是1。您想要的是浮点(双)除法,所以通过将它写成(3.0/2.0)来强迫除法使用双数。
https://stackoverflow.com/questions/42958026
复制相似问题