C语言:main函数必须放在其他函数之前为什么不对?

如题所述

main函数不是必须放在其他函数之前,也就是说可以放在其他函数的上面,下面,都可以。

编译器编译时,是逐行编译的。但是它是先找到主函数,主函数编译完也表明这个程序已经编译完了。如果主函数放在其他函数之前,那么在主函数中要调用的子函数(自定义函数)要先在主函数之前声明它的存在。如:void fun(int n,int m);

在多数编程语言里,变量、函数(过程)、结构体、类、对象等都是必须先声明(或在使用它之前定义)后使用。未声明或未在使用它的函数之前定义的,编译都无法通过。而且会报错:未定义的变量或函数等.

扩展资料:

main函数,又称主函数,是程序执行的起点。C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。

其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。

int main(void)//整数类型 主函数(无类型)

{

...

y1=f1(x1,x2);//赋值过程

...

}

f1(int a,int b)//f1(整数类型 a,整数类型 b)

{

//百度百科示例代码.....

Y2=f2(x3,x4);//赋值过程

//百度百科示例代码

}

f2(int m,int n)//f2(整数类型 m,整数类型 n)

{

//百度百科示例代码

参考资料来源:百度百科-main函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-26
main函数不是必须放在其他函数之前,也就是说可以放在其他函数的上面,下面,都可以。
编译器编译时,是逐行编译的。但是它是先找到主函数,主函数编译完也表明这个程序已经编译完了。如果主函数放在其他函数之前,那么在主函数中要调用的子函数(自定义函数)要先在主函数之前声明它的存在。如:void fun(int n,int m);
在多数编程语言里,变量、函数(过程)、结构体、类、对象等都是必须先声明(或在使用它之前定义)后使用。未声明或未在使用它的函数之前定义的,编译都无法通过。而且会报错:未定义的变量或函数等!
第2个回答  2013-02-01
呵呵,你的问题太可爱了。
c语言的语法没有规定main函数必须放在其他函数之前。但不论main函数在整个程序中的位置如何,程序总是从main函数开始执行的。而放在main函数前面的函数一般都是调用函数,只有等到要调用时才会执行。所以函数与函数之间位置是没有先后顺序的,但执行时是有先后顺序的。
第3个回答  推荐于2017-10-01
亲,C语言运行的时候从main函数开始,一直运行到main函数结束。
期间可以插入运行其他函数。
所以你问题的答案是不对的。
如果main函数在前,其他函数在后,由于系统运行到其他函数时不认识它,所以声明一下即可。
其它函数在main函数前,则无需声明,因为系统已经认识了其它函数。追问

为什么其它函数在main函数前,系统已经认识了其它函数了呢?还是因为其他函数在main函数前,又由于程序从main函数开始运行,所以其它函数根本不被运行,所以不用声明?O(∩_∩)O谢谢

追答

理解正确!

本回答被提问者和网友采纳
第4个回答  2018-11-30
1.自定义函数如果在main()前声明,则定义的位置任意。
2.如果自定义函数不声明直接定义,这时就必须把它放在main函数之前,不然系统不“认识”它,则没法在main中使用。
PS:把自定义函数编入头文件,到时候引用也是个不错的办法。