我在c中输入了两个double变量,我需要是否输入之一是字符串终止并显示打印消息,请尝试这样的操作
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,为什么该程序不能打印错误的输入消息?
最佳答案
在验证输入是否有效之前,请尝试使用a
。这可能导致意外行为。您需要验证您的输入,例如:
if (scanf("%lf %lf", &a, &b) != 2) {
// handle bad input
}
关于c - 输入错误到双变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40542556/