为什么一个简单的scanf函数,却无法赋值?
int main()
{
double prob;
......
printf("Input prob values.\n");
for(;;)
{
printf("prob=");
scanf("%f",&prob);
printf("prob=%f\n",prob);
if(prob==-1)
break;
......
}
运行后,的结果是:
Input prob values.
prob=0.875
prob=-92559604257670107000000000000000000000000000000000000000000000.000000
程序很简单,我很着似乎没有问题啊。请大家指点,谢谢!
[解决办法]
用scanf()输入double类型用scanf("%lf",&prob); 或scanf("%lg",&prob);
[解决办法]
把double换成float就好了
貌似double应该用%lf(我也不太清楚)
[解决办法]
用lf就可以了
修改成这样
int main()
{
double prob;
printf("Input prob values.\n");
for(;;)
{
printf("prob=");
scanf("%lf",&prob);
printf("prob= %lf\n",prob);
if(prob==-1)
break;
}
}