Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 是否有必要在此函数中的while循环后包含return语句?_C_Function_Return - Fatal编程技术网

C 是否有必要在此函数中的while循环后包含return语句?

C 是否有必要在此函数中的while循环后包含return语句?,c,function,return,C,Function,Return,我有一个函数 int myfun(int *a, int *b) { while(some condition) { if(condition) return *a + *b; else { some manipulation; } } return -1; } 当遇到while->if part中的第一个return语句时,控件是转到调用myfun的函数还是while循环仍

我有一个函数

int myfun(int *a, int *b)
{
    while(some condition)
    {
        if(condition) return *a + *b;
        else
        {
            some manipulation;
        }
    }
    return -1;
}

当遇到while->if part中的第一个return语句时,控件是转到调用myfun的函数还是while循环仍在继续?为什么需要return-1语句?

return*a+*b
之后,函数返回该语句并结束。您需要
返回-1
,因为如果该条件从未满足,它将返回什么?它是一个
int
函数,因此它必须返回某些内容。

返回*a+*b
之后,函数返回该内容并结束。您需要
返回-1
,因为如果该条件从未满足,它将返回什么?这是一个
int
函数,因此它必须返回一些内容。

需要
return-1
语句,因为
某些条件可能在第一时间没有被填满,因此不会进入
while
循环


因此,必须提供一些返回值(-1)。

需要
return-1
语句,因为
某些条件可能在第一时间没有被填满,因此
while
循环将不会被输入


因此,必须提供一些返回值(-1)。

如果不满足
某些条件,控制将永远不会进入循环并继续执行函数结束的下一行


在这种情况下,函数应该返回一些值,因为它没有
void
返回类型。因此,
返回-1

如果
某些条件不满足,控件将永远不会进入循环并继续执行函数结束的下一行


在这种情况下,函数应该返回一些值,因为它没有
void
返回类型。因此,
return-1

第一个return语句仅在满足条件时应用。如果满足条件,return语句会立即将控件带回调用函数,但是,如果由于某种原因If不满足,那么while循环的所有迭代都会得到满足,最后它必须返回一个整数值,因为返回类型是integer,所以控件会再次流回调用函数

第一个return语句仅在满足其条件时应用。如果满足条件,return语句会立即将控件带回调用函数,但是,如果由于某种原因If不满足,那么while循环的所有迭代都会得到满足,最后它必须返回一个整数值,因为返回类型是integer,所以控件会再次流回调用函数

函数的每个端点(exit)都必须有return语句(如果函数的声明与此类似)。您编写的代码将由编译器处理,因此它应该完全知道函数的所有可能的退出点,这取决于是否满足函数内分支的条件。

每个端点(exit)函数的类型必须有返回语句(如果函数的声明与of相同)。编译器将处理您编写的代码,因此它应该完全知道函数的所有可能退出点,这取决于是否满足函数中分支的条件。

是,亲爱的,如果“if”的条件为真语句,则函数将在该点返回。return-1语句很有用,而且确实是必要的,因为即使从未执行过“if”语句,也要注意返回一些内容。如果函数被声明为void myfunc,那么它肯定会导致错误。

是的,亲爱的,如果“If”语句的条件为true,那么函数将在此时返回。return-1语句很有用,而且确实是必要的,因为即使从未执行过“if”语句,也要注意返回一些内容。如果函数被声明为void myfunc,那么它肯定会导致错误。

Put实际代码,这个问题不清楚……一旦循环中的return语句被命中,函数myfun将立即结束。最后一次返回是在if语句从未到达的情况下,在这种情况下,
*a+*b
从未返回,而必须返回其他内容。当“某个条件”变为false时,将返回-1。也许数据已经用完了-1通常用于表示错误。然而,在C中,指针的值实际上是非法的。如果null为非错误,则函数应设置一个标志,而不是尝试构造另一个无效指针。为什么
int*
返回
int
值?这是没有意义的。在我看来,这是一种不好的方法。我建议始终在函数顶部声明您的返回变量。您可以将其设置为默认值(或者不必设置,但我大部分时间都这样做),然后在满足条件时更改它。顶部的声明将清楚地显示要在代码中跟踪的变量名(并且这是函数而不是过程)放入实际代码,这个问题不清楚…一旦循环中的return语句被命中,函数myfun将立即结束。最后一次返回是在if语句从未到达的情况下,在这种情况下,
*a+*b
从未返回,而必须返回其他内容。当“某个条件”变为false时,将返回-1。也许数据已经用完了-1通常用于表示错误。然而,在C中,指针的值实际上是非法的。如果null为非错误,则函数应设置一个标志,而不是尝试构造另一个无效指针。为什么
int*
返回
int
值?这是没有意义的。在我看来,这是一种不好的方法。我建议始终在函数顶部声明您的返回变量。您可以将其设置为默认值(或不设置默认值)