0

cstdio ヘッダーを使用した double の C++ コード。

#include <cstdio>
    using namespace std;
    
    int main() {
    
            double f;
            scanf("%lf",&f);
            printf("%lf",f);
            
            return 0;
    }

このコードは常に 0.000000 を出力します。なんで?しかし、同様のコードは C でもうまく機能します

#include<stdio.h>

    int main() {
            double f;
            scanf("%lf",&f);
            printf("%lf",f);
            return 0;
    }

このコードは正常に動作します。

4

1 に答える 1

1

fscanfと のドキュメントを読みfprintf(特に変換指定子が異なります)、. を削除しusing namespace stdます。

于 2016-11-12T13:23:24.353 に答える