C语言 为什么在do while循环中需要return?

xyhw6mcr  于 2022-12-02  发布在  其他
关注(0)|答案(2)|浏览(483)

这与CS50 x(第2周)课程中的该代码相关。
密码是:

int get_negative_int(void)
{
    int n;
    do
    {
        n = get_int("Negative integer: ");
        printf("n is %i\n", n);
    }
    while (n < 0);
    return n;
}

我很困惑为什么“返回n;当n〈0时,do while循环是否会继续运行?一旦n〉0,它是否应该停止并将n的〉0值传递给int n,而不使用“return n;“行吗?
我没有任何错误,但我有麻烦理解如何返回工作在这个示例中。我觉得我错过了一些基本的返回工作在这里,任何指针将不胜感激!

js81xvg6

js81xvg61#

从函数返回值的唯一方法是通过return语句。
do/while条件只控制循环,然后继续执行下一行。

sqougxex

sqougxex2#

return与循环无关。任何返回值的函数,如int get_negative_int(void)返回int,都需要有一个return语句,就这么简单。
CS50的任务是找出函数的错误。提示:不是return
一旦n〉0它不应该停止吗
请注意,n < 0的反义词是n >= 0。当输入大于或等于0的数字时,循环确实会停止。

相关问题