为什么这个程序运行输入数字按回车后一直有数字


#include<stdio.h>
int main()
{
    int n;
    double a,b,x;
    while(scanf("lf",x)!=EOF)
    {
        a=2.0;
        n=1;
        b=0;
        while(x>0)
        {
          a=a*0.98;
        b+=a;
        n++;
      if(b>x){
    printf("%d\n",n);

}
    }
    return 0;
    }
    return 0;
}

scanf("%lf",&x);
有帮助的话,望采纳。