C中的pow()无法正常工作

时间:2015-11-13 18:55:50

标签: c pow

我不知道我是否误解了战俘的概念,但是我已经尝试了很多东西,但是,我会感谢一些帮助,为什么战俘不起作用。 我试图计算BMI,即BMI =体重/(长度^ 2)我知道我可以做(长度* 2),但我想学习pow功能。

#include <stdio.h>
#include <conio.h>
#include <math.h>

int main()


{
    float langd1;
    float langd2;
    float langd3;
    float langd4;
    float vikt1;
    float vikt2;
    float vikt3;
    float vikt4;

    {

        printf("Whats your weight?");
        scanf_s("%f", &vikt1);
        printf("Whats your weight?");
        scanf_s("%f", &vikt2);
        printf("Whats your weight?");
        scanf_s("%f", &vikt3);
        printf("Whats your weight?");
        scanf_s("%f", &vikt4);

        printf("Whats your lenght?");
        scanf_s("%f", &langd1);
        printf("Whats your lenght?");
        scanf_s("%f", &langd2);
        printf("Whats your lenght?");
        scanf_s("%f", &langd3);
        printf("Whats your lenght?");
        scanf_s("%f", &langd4);

        printf("User 1, your BMI is %f", vikt1 / pow(langd1));

        system("pause");


    }
    getchar();
    return(0);


}

1 个答案:

答案 0 :(得分:3)

您应该使用pow(langd1,2)

pow()有两个参数。第一个是基数,第二个是指数。它返回(base ^ exponent)

如果你没有给它第二个参数,它会调用未定义的行为。 编辑:实际上它不会编译。我对可变参数感到困惑。

有关详细信息,请参阅http://www.tutorialspoint.com/c_standard_library/c_function_pow.htm