2

を使用し<quadmath.h>ます。入力を正しく読み取ることができる引数の型はどれですか? double を使用すると、次のようになります。

printf("enter 3 values for s, t and mt:\n");
scanf("%lf %lf %lf", &s, &t, &mt);
printf("%lf %lf %lf\n", s, t, mt);

たとえば、「l」の代わりにさまざまな可能性を試しました。

scanf("%Qf %Qf %Qf", &s, &t, &mt);

またはなくても

 scanf("%f %f %f", &s, &t, &mt);

ただし、エラーが発生します。

4

2 に答える 2

2

scanf(および関連する関数およびprintf関連する関数) は拡張できません。標準ライブラリが知っていることだけを解析できます。C 標準ライブラリは、コンパイラではなく、オペレーティング システムに付属しています。コンパイラ拡張機能である libquadmath については認識していません。

そのため、文字列を読み取り、 を使用して個別に変換する必要がありますstrtoflt128

C++ ストリームは extract に拡張できることに注意してください__float128。ただし、quadmath ライブラリには C++ インターフェイスがありません。

于 2014-02-18T08:25:34.183 に答える