當我輸入一個浮點數(例如48.3)時,顯示的結果是48.00而不是48.30,並且每當我嘗試輸入空字符串時程序立即結束。我需要幫助,如何解決這個問題?處理用戶輸入
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));
輸入一個整數。'的scanf( 「%S」,&a);'沒有呀.... – John3136
'atoi'返回'int' –
你需要開始一個好的C教程。'scanf'的'%s'格式說明符需要匹配*字符指針*,並用於讀取*字符串*。'%d'格式說明符用於整數。花時間閱讀'man scanf'可以花費幾個小時實際消化信息)'integer = atoi(a);'除非先前在某處聲明'int integer;',否則看起來毫無意義,參見[**如何創建一個最小,完整和可驗證的示例**] (http://stackoverflow.com/help/mcve)。 –