繁体   English   中英

C 在函数中的 return 语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM