1

BMI 計算プログラムの作成に問題があり、何が正しく行われていないのか疑問に思っています。初心者なのでお手柔らかによろしくお願いします!

#include <stdio.h>

main()
{
    // Variables for height, weight, and bmi
    float height;
    float weight;
    float bmi;

    printf("\aEnter your height: ");
    scanf(" %f", height);

    printf("\a\nEnter your weight: ");
    scanf(" %f", weight);

    bmi = (height * 4.88) / (weight * weight);

    printf("\a\nYour BMI is: %f", bmi);
    getchar();

    return 0;
}
4

2 に答える 2

4

scanf には、フォーマット文字列に続くパラメーターへのポインターが必要です。& 演算子を次のように使用します。

printf("\aEnter your height: ");
scanf(" %f", &height);

printf("\a\nEnter your weight: ");
scanf(" %f", &weight);
于 2013-08-29T20:50:29.170 に答える
4

そのアドレスの値を変更できるように、変数のアドレスをscanfに渡す必要があります。

scanf(" %f", &height);
             ^
             \ Address-of operator (Returns the memory address of the float)

と:

scanf(" %f", &weight);
于 2013-08-29T20:50:42.867 に答える