【发布时间】:2020-10-25 13:03:50
【问题描述】:
问题是关于您可以在下面看到的代码部分。我有两个变量leftLimit 和rightLimit。它们的值应严格从 -1 到 1(不包括在内)。好的,我解决了这个问题。当输入 >= 大于 |1| 时程序将询问直到输入所需的值。但它仅在输入具有数字值时才有效。当输入为a 或/ 等时,我得到程序的结尾并且没有任何效果。我该如何解决?如何防止我的程序出现非数字输入?
#include <stdio.h>
#include <math.h>
int main() {
double leftLimit, rightLimit;
printf("Enter the left limit: ");
scanf ("%lf", &leftLimit);
while (fabs(leftLimit)>=1) {
printf("\nYou typed a wrong limit, try again: ");
scanf("%lf", &leftLimit);
}
printf("\nEnter the right limit: ");
scanf("%lf", &rightLimit);
while (fabs(rightLimit)>=1) {
printf("\nYou typed a wrong limit, try again: ");
scanf("%lf", &rightLimit);
}
【问题讨论】: