首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为什么一个简单的scanf函数,却无法赋值?解决思路

2012-02-11 
为什么一个简单的scanf函数,却无法赋值?int main(){double prob......printf(Input prob values.\n)fo

为什么一个简单的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;
}

}

热点排行