проблема с scanf при чтении double

Я использую MinGW на Windows 7 для компиляции C-файлов.

Моя проблема странное поведение сscanf() читатьdoubles из пользовательского ввода.

Мой код:

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

Ответы на вопрос(2)

Ваш ответ на вопрос