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