首页 > 解决方案 > main() 函数与 C 中的其他函数相比如何?

问题描述

文档是:

在 C 中,“main”函数被视为与每个函数相同,它具有返回类型(并且在某些情况下通过参数接受输入)。唯一的区别是主函数是在用户运行程序时由操作系统“调用”的。因此,主函数始终是程序启动时执行的第一个代码。

但是当我跑步时

int main() {
    printf("%d", square(3));
    return 0;
}

int square(int n) {
    int sq = n * n;
    return sq;
}

程序打印 9. 那么 main() 函数是仅在所有其他函数之后才执行,还是以不同的方式特别?

标签: cfunctionmain

解决方案


顺序是这样的:

  1. 操作系统调用main()
  2. main()来电square(3)
  3. square(3)计算结果9并返回。
  4. main()来电printf("%d", 9)
  5. printf()9在终端上打印并返回打印的字符数 (1)。
  6. main()向操作系统返回 0。

推荐阅读