C 双变量输入错误

C 双变量输入错误,c,C,我在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; } 双a,双

我在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;
}
双a,双b;
printf(“输入两个变量:\n”);
scanf(“%lf%lf”、&a和&b);
printf(“%lf\n”,a);
printf(“%lf\n”,b);

如果((a在验证输入是否有效之前尝试使用
a
。这可能会导致意外行为。您需要验证输入,例如:

if (scanf("%lf %lf", &a, &b) != 2) {
    // handle bad input
}

你的问题是什么?变位、打字、标点符号…我知道一个简洁的表单不是一个好问题,但读起来并不愉快…检查
scanf()
.Period的返回值。这是我第一次尝试使用这个
printf(“%E\n”,a);
printf(“%E\n”,b)当输入为“ffff”等时,变量不等于0.0。