gpt4 book ai didi

c - C 中的非函数 do while 循环

转载 作者:行者123 更新时间:2023-12-03 21:13:05 28 4
gpt4 key购买 nike

我是编程新手,希望能得到一些帮助。我正在尝试在 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,则继续循环”。该条件永远不会为真,因此循环在第一次迭代后退出。

您想要的是“如果 height 大于 8 或 height 小于 1,则继续循环”

while (height > 8 || height < 1);

关于c - C 中的非函数 do while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62479086/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com