浮動小数点数(たとえば48.3)を入力すると、48.30ではなく48.00と表示され、空白文字列を入力しようとするとすぐにプログラムが終了します。私は、この問題を解決する方法を助けが必要ですか?ユーザの入力を処理する
int integer;
char a[50];
float fnum;
char b[50];
printf("Please enter an integer : ");
scanf("%s",&a);
integer = atoi(a);
printf("\nPlease enter a floating-point number : ");
scanf("%s", &b);
fnum = atoi(b);
printf("Output : \n");
printf("%i + %.2f = %.2f \n", integer,fnum,(integer+fnum));
printf("%i - %.2f = %.2f \n", integer,fnum,(integer-fnum));
printf("%i * %.2f = %.2f \n", integer,fnum,(integer*fnum));
整数を入力します。。 'int'を返しatoi''のscanf( "%sの"、&a); 'うんません.... – John3136
'あなたは良いCのチュートリアルを開始する必要があり –
'scanf'の'%s'フォーマット指定子は*文字ポインタ*とのマッチを期待し、*文字列*を読み込むために使用されます。 '%d'フォーマット指定子は整数に使用されます。 '整数= atoi(a);')は以前に 'int integer;'を宣言していないかぎり、かなり意味がないように見えます[最小限の完全で検証可能な例の作成方法**] (http://stackoverflow.com/help/mcve) –