[ad_1]
C++
#include<stdio.h> int main() { float num1,num2; printf("Enter 1,2 float: "); scanf("%.2f %.2f",&num1, &num2); printf("Result:%.2f %.2f\n",num1,num2); return 0; }
私が試したこと:
入力に関係なく、出力は 0.00 です。 inout で与えた出力が見つからないのはなぜですか?.in コードブロックで試してみました。
解決策 1
読み取られる数値に幅や精度の値を指定することはできません。 の scanf
この関数は、数値を構成するすべての有効な文字 (数字と小数点) を読み取り、それを適切な型に変換しようとします。 だから、あなたのものを変えてください scanf
行先:
C++
scanf("%f %f",&num1, &num2);
解決策 2
精度指定子 (%.2f) は、float 値を表示するときに小数点以下の桁数を制御するために、’scanf’ の代わりに ‘printf’ 関数で使用されます。
たとえば、%10.4f は合計 10 文字以上の数値を表示し、そのうち 4 桁は小数点以下です。
解決策 3
ドキュメントもご覧ください。 関数 scanf – cppreference[^]。
[ad_2]
コメント