【发布时间】:2014-10-13 05:40:20
【问题描述】:
我编写了这个程序来获得双重输入:
double n;
scanf("%lf",&n);
while(fgetc(stdin)!='\n')
return 0;
printf("%lf",n);
这个程序应该接受 double 作为输入。假设%lf 是scanf 中double 的格式说明符,我就使用了它。但是对于后跟 e 的数字输入。例如(3e),输入被正确读取。但是在处理同一变量期间,它会丢弃e,只考虑3,如printf 语句所示。这种行为的原因是什么?
【问题讨论】:
标签: c double scanf format-specifiers