我在c中输入了两个双变量,如果其中一个输入是字符串终止并且打印消息,我需要尝试这样的事情
double a, b;
printf("Input two variables:\n");
scanf("%lf %lf", &a, &b);
printf("%lf\n", a);
printf("%lf\n", b);
if(( a <= 0.0 ) || (b <= 0.0))
{
printf("Bad input\n");
return 2;
}
如果我尝试输入4 fff(或fff 5),程序不会输出错误的输入信息。 如果设置a = 444 b = fff或a = ddd b = 78,为什么此程序不打印错误的输入消息?
答案 0 :(得分:4)
在验证输入是否有效之前,请尝试使用a
。这可能会导致意外行为。您需要验证输入,例如:
if (scanf("%lf %lf", &a, &b) != 2) {
// handle bad input
}