f変換

せりか式 - C 言語チュートリアル - f変換

f変換

printfとscanf
変換指定文字は似ているようで、ちょっと違います
似ているようでちょっと違う変換の代表格はf変換かと思います

f変換は、
scanfではfloat型へのポインタ扱い
printfではdouble型の変数扱い
そのため、scanfでdouble型を読み込むときは、フラグとしてlを付ける必要があります
printfでは、フラグlは、整数変換時にlong扱いをするというフラグになり、f変換での扱いは定義されていません

    1: float f;
    2: double d;
    3: scanf("%f", &f);
    4: scanf("%lf", &d);
    5: printf("%f", f);
    6: printf("%f", d);

注意
フラグlには他にも役割があり、上述したものだけではありません
詳しくはANSIやC99などを各自調べてください


トップへ