所以我的问题与 double 有关,我试图从用户那里获取任何值的小数点输入及其指数也以小数点表示,以在另一个函数中计算后显示结果,其中变量将以 double 形式传递值我也使用了双倍输出,但最终结果是 1.00000,即使我使用输出说明符作为 %lf%。
#include <stdio.h>
double pwra (double, double);
int main()
{
double number, power, xx;
printf("Enter Number: ");
scanf("%lf", &number);
printf("Enter Number: ");
scanf("%lf", &power);
xx=pwra (number,power);
printf("Result: %lf", xx);
return 0;
}
double pwra (double num, double pwr)
{
int count;
int result = 1;
for(count=1;count<=pwr;count++)
{
result = result*num;
}
return result;
}
最佳答案
您在 pwrs()
函数中使用了错误的 result
类型。
更改:
int result = 1;
至:
double result = 1.0;
请注意,如果您学会使用调试器,这种类型的简单错误很容易识别。进一步阅读:How to debug small programs .
另请注意,pwr
应该是 int
,而不是 double
,因为您的函数仅适用于整数指数。
关于c - 来自用户输入的双指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36736134/