проблема с scanf при чтении double
Я использую MinGW на Windows 7 для компиляции C-файлов.
Моя проблема странное поведение сscanf()
читатьdouble
s из пользовательского ввода.
Мой код:
int main() {
double radius = 0;
double pi = 3.14159;
scanf("%lf \n", &radius); // after the input, it continues waiting...
radius = ((radius * radius) * pi);
printf("A=%.4lf\n", radius);
return 0;
}
Когда я запускаю эту программу, необходимо ввести значение, предположим,100.64
, нормальное поведение - нажать ввод, и программа должна продолжить и показать результат, но программа продолжает ждать ввода. Если я наберу 0 и снова нажму enter, программа продолжит нормальную работу.
>area.exe
100.64 <-- doesn't proceed after press enter
0 <-- needs input another value, then press enter
A=31819.3103 <-- the result
Почему scanf не переходит к первому вводу? Зачем это нужно больше?
Obs: в моем Linux этого не происходит.
gcc --version
gcc (tdm64-1) 4.9.2