0
下面的代碼似乎給出了不一致的答案,而不是預期的結果,我不知道爲什麼。scanf with formatted float
$ cat chk.c
#include <stdio.h>
int main()
{
float a;
scanf("%4.1f", &a);
printf("%4.1f\n", a);
return 0;
}
$ cc chk.c && ./a.out
12.1
0.0
$
這沒有正確讀取輸入!任何人都可以解釋這種行爲嗎?我在Linux上嘗試了多個GCC版本,結果相同,並且網絡搜索也沒有用。
精度不屬於'scanf'格式規範的一部分。 – 2014-09-02 02:06:34
第1步:將''\ n'放入'scanf(「%4f \ n」,&a);'這將處理第一個問題。 – chux 2014-09-02 02:07:20