我在程序中需要这个变量的结果,但我不明白为什么我不能得到正确的结果。
double r = pow((3/2), 2) * 0.0001;
printf("%f", r);
最佳答案
问题是整数除法,小数部分(余数)被丢弃
尝试:
double r = pow((3.0/2.0), 2) * 0.0001;
的第一个参数 pow() 期望双倍。因为ratio:3/2
使用整数值,所以传递给参数的结果是1。通过改为float值,除法的结果可以保留小数部分,结果变成1.5,函数期望的形式。
关于C 没有得到正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42958026/