c - 来自用户输入的双指数

标签 c exponent

所以我的问题与 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/

相关文章:

c - 当我在 malloc 中取消引用 NULL 指针时,为什么我的程序没有出现段错误?

c++ - 如何将 WebAssembly 编译成常规汇编/ native 代码(或 Cpp 等)?

swift - 如何获得一个数的指数值?

c - 返回 float 的指数值

java - 对于 2 个数字,如何测试一个是否是另一个的整数幂?

c - 为什么qsort中的比较器必须是这样的?

c - C 中没有分配内存的字符串操作

floating-point - double 浮点格式的最大和最小指数

opengl - GLSL:整数指数的 pow 与乘法

c - C 中的文件 I/O 困难