[英]the return statement of C in a function
我是C语言的新手,我有一个关于C中return
语句的问题:
void verifyValue(int value)
{
return;
}
void handleValue(int value)
{
switch(value)
{
case 1:
// do something
break;
case 10:
verifyValue(value);
// the rest of code part 1
break;
default:
break;
}
}
int main()
{
int vlaue = 10;
handleValue(value);
// the rest of code part 2
}
所以verifyValue()
函数将在case 10
返回,一旦它返回,代码部分 1 的其余部分会继续执行还是代码部分 2 的其余部分继续执行, verifyValue()
返回值是从哪里真正返回的?
case 10:
verifyValue(value);
// the rest of code part 1
break;
verifyValue()
函数并从该函数返回后
// 其余代码第 1 部分
被执行。 在执行该break
之后,您就可以退出switch
构造。
稍后控制权返回到main()
和
// 其余代码第 2 部分
被执行。
在verifyValue()
调用之后,break 语句将首先起作用,这将把控制带出 switch case。 之后,handleValue 函数将返回,然后“代码第 2 部分的其余部分”将继续。
return
语句仅从执行它的函数返回。 所以这个函数:
void verifyValue(int value)
{
return;
}
什么都不做。 它只是立即返回。 调用该函数对代码的逻辑流没有影响。
“其余代码第 1 部分”将执行。 然后handleValue()
函数会在到达函数末尾时隐式返回。 然后“其余代码第 2 部分”将执行。
return 语句导致被调用函数立即终止,因此,verifyvalue 函数中的 return 语句终止了该函数,并没有结束句柄值函数。在该点之后继续执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.