pow函数以及应注意的问题
pow(x, y)函数用于解决求xy问题
pow函数的头文件为 <math.h>
会遇到的问题描述
#include <stdio.h>
#include <math.h>
int main(void)
{
int n, m;
while(~scanf("%d%d", &n, &m))
{
int ans;
ans = pow(n, m);
printf("%d\n", ans);
}
return 0;
}
奇怪 运行结果不应该是25 125 100嘛!
pow函数的函数定义如下
double pow (double base, double exponent);
可以看出pow函数的参数及返回值都为double类型!
解决办法
那么我们如何解决呢
很简单 将参数和返回值改成double类型就好辣!
#include <stdio.h>
#include <math.h>
int main(void)
{
double n, m;
while(~scanf("%lf%lf", &n, &m))
{
double ans;
ans = pow(n, m);
printf("%d\n", (int)ans);
}
return 0;
}
是不是成功了呢!
其实很多函数返回值及参数都为double类型
我们也行应查阅文档后谨慎使用 避免不必要的错误
参考:https://blog.csdn.net/qq_20504945/article/details/84964954
(仅供个人学习使用)