【发布时间】:2020-10-10 05:29:06
【问题描述】:
我是编程新手,希望能得到一些帮助。我正在尝试在 C 中创建一个“do while”循环作为我的 CS50 问题集的一部分。我试图在“while”下使用两种不同的条件,但由于某种原因,它们没有被识别。这是我的代码
#include <stdio.h>
#include <cs50.h>
int get_height(void);
int main(void)
{
int height = get_height();
printf("you picked %i\n", height);
}
int get_height(void)
{
int height;
do
{
height = get_int("enter height\n");
}
while (height > 8 && height < 1);
return height;
}
我试图强制用户输入一个小于 8 但大于 0 的整数。如果我取出两个条件中的任何一个,则该单个条件有效。但是,如果我尝试同时使用这两种条件,代码会编译并运行,但不会强制我在指定的参数内输入数字。我可以输入任何数字,它会被接受。有人可以帮忙吗?
编辑: 我很尴尬。我误解了 AND 运算符的工作原理。
【问题讨论】:
-
height > 8和height < 1怎么会是真的? -
没有必要尴尬。但是请务必单击其中一个答案旁边的复选标记,以便每个人都知道该问题已得到解答。见What should I do when someone answers my question
-
@user3386109 谢谢,我在第一次回复后不久就尝试这样做,但在一段时间内无法点击它。立即点击!
标签: c do-while cs50 logical-or logical-and