ste*_*lar 1 c program-entry-point function
该文档是:
在C语言中,“主”函数与每个函数一样,具有返回类型(在某些情况下通过参数接受输入)。唯一的区别是,当用户运行程序时,操作系统会“调用”主要功能。因此,主要功能始终是程序启动时执行的第一个代码。
但是当我跑步时
int main() {
printf("%d", square(3));
return 0;
}
int square(int n) {
int sq = n * n;
return sq;
}
Run Code Online (Sandbox Code Playgroud)
程序将输出9.那么main()函数是否仅在所有其他函数之后才执行,或者它是否以其他特殊方式执行?
顺序是这样的:
main()main()来电square(3)。square(3)计算结果9并返回。main() 来电 printf("%d", 9)printf()9在终端上打印并返回打印的字符数(1)。main() 向操作系统返回0。定义和调用之间有区别。
main()是运行时直接调用以执行程序的一个函数。在全局变量或某些其他特殊情况下,可能会在初始化程序中调用其他一些方法,但是让我们忽略它们,尤其是因为它们与您的情况无关。
而且所有其他人都从那里直接或间接地被呼叫。或它们仅仅是死代码。
main()由于C99:return 0;存在隐含的另一个区别。
顺便说一句,提高警告级别,所有在未声明之前/未声明的函数都是错误。