首页 > 解决方案 > 为什么我们在使用 C 时需要在 main 中使用 return 语句

问题描述

为什么我们在 C 的 main 中需要一个返回函数?因为当我尝试在 main 中的 return 语句之后编写语句时,main 之后的语句没有被执行,但它应该在控制从调用函数返回到 main 之后执行,它应该在 return 语句之后执行语句直到 a遇到右括号?

例子:

int main()
 {
   printf("Hello World");
   return 0;
   printf("hi"); // This does not gets executed
 }

标签: c

解决方案


为什么我们需要 C 的 main 中的返回函数?

from 的返回值main()返回到“系统”并解释为进程退出代码,例如可以在 shell 脚本和批处理文件中使用。例如在 Windows 中:

> myprogram
Hello World
> echo myprogram returned %errorlevel%
myprogram returned 0

[...] 它应该在 return 语句之后执行语句,直到遇到右括号?

否。当return遇到 a 时(线索在名称中!)或在右大括号处 - 以先发生者为准,函数会返回。return 语句可以出现在函数中的任何位置,并且一个函数可能有多个 return 语句。如果在 a 之前遇到右大括号return,那么这是一个隐式返回,如果调用者尝试使用返回值,则对于非 void 函数是未定义的行为。

当您从main()控制中返回时,系统会返回到系统,并且在终止进程的托管环境中,操作系统会恢复资源、关闭文件等。


推荐阅读