为什么if循环在输错的情况下不马上退出循环

在if循环中我已经设置了上限和下限但如果我的上限错了直到我输入完下限才告诉我我的输入是错的
int main(void)
{
    int lower, upper;
    // input a limit value
    printf("Enter the Lower Limit: ");
    scanf_s("%d", &lower);
    printf("Enter the Upper Limit: ");
    scanf_s("%d", &upper);

    if (lower < 0 || upper >50)
    {
        printf("The input value is invalid");
        exit(1);
    }

    
    Gettable(lower, upper);

    return 0;
}

我想要达到的结果 只要有其中一个输入错误就马上退出程序

你看if语句分开可以吗?
int main(void)
{
int lower, upper;
// input a limit value
printf("Enter the Lower Limit: ");
scanf_s("%d", &lower);
if (lower < 0 )
{
printf("The input value is invalid");
exit(1);
}
printf("Enter the Upper Limit: ");
scanf_s("%d", &upper);

if (upper >50)
{
    printf("The input value is invalid");
    exit(1);
}
Gettable(lower, upper);
return 0;

}
c++的话,可以使用cerr流对象

那你在scanf_s后面写if呀,不要两个scanf_s都执行完了才执行if

因为你的判断语句是在上限和下限输入完才判断的