程序接受负数,即使我有代码来防止这种情况

时间:2015-03-24 23:26:30

标签: c

我的代码会询问用户1到23之间的数字。 然后我有这段代码:

if (height > 23) {
    if (height < 0) {
        goto ask;
    }
}

出于某种原因,如果我输入一个大于23的数字,它会再次要求用户输入,如果我输入的数字低于0,则接受该数字。帮助

另外,“height”存储为int,如果有帮助的话。

2 个答案:

答案 0 :(得分:1)

您必须将您的验证分开:

if (height > 23) {
    goto ask;
}
if (height < 0) {
    goto ask;
}

您还可以制定一个类似的条件:

if (height > 23 || height <= 0) {
    goto ask;
}

答案 1 :(得分:1)

if (height > 23) {
 goto ask;
}
else (height < 0) {
 printf("The number must be higher than 0");
}