为什么即使输入值999999,它总是会转到else语句?有人可以解释为什么以及这样做的正确方法是什么?
#include <stdio.h>
int main(int argc, char **args)
{
double dValue = 0;
scanf("%d",&dValue);
if(10000 < dValue){
printf("More than");
} else {
printf("Less than");
}
return 0;
}
答案 0 :(得分:7)
如果您打算将值读作整数(使用"%d"
),那么您应该将其声明为int
。如果您打算将该值读作double
,那么您应该使用"%lf"
作为您的scanf格式说明符。