在while循环中返回一个表达式 - C语言

时间:2017-03-22 16:07:51

标签: c while-loop return

我知道从循环中调用return;会从循环中退出,但如果在循环内调用return VALUE会发生什么?首先,有可能吗?

编辑:奇怪 - 但不是因为现在我有预期的行为 - 重新组织函数以显示代码现在"返回"所有的工作都应该做到。 抱歉这个愚蠢的问题;我发布的代码无论如何希望它对那些有同样疑问的人有用。

#include <stdio.h>
int function();

int main(){
printf("MAIN BEFORE FUNCTION\n");

    function();
    printf("MAIN AFTER FUNCTION\n");

    getch();
    return 0;
}

int function(){
    printf("FUNCTION ENTERED\n");
    int i = 1;
    if (i < 3){
        printf("IF ENTERED\n");
        return;
        printf("IF AFTER RETURN\n");

    }
    printf("FUNCTION AFTER IF\n");

    while (i < 3){
        printf("WHILE ENTERED\n");
        return;
        printf("WHILE AFTER RETURN\n");


    }
    printf("FUNCTION END\n");

    //return from function
    return 0;


}

1 个答案:

答案 0 :(得分:0)

return语句将退出当前函数,而不仅仅是它所处的循环。

是否使用或不使用值来调用return取决于相关函数是否具有void返回类型。