Ⅰ c语言:main函数必须放在其他函数之前为什么不对
main函数不是必须放在其他函数之前,也就是说可以放在其他函数的上面,下面,都可以。
编译器编译时,是逐行编译的。但是它是先找到主函数,主函数编译完也表明这个程序已经编译完了。如果主函数放在其他函数之前,那么在主函数中要调用的子函数(自定义函数)要先在主函数之前声明它的存在。如:void fun(int n,int m);
在多数编程语言里,变量、函数(过程)、结构体、类、对象等都是必须先声明(或在使用它之前定义)后使用。未声明或未在使用它的函数之前定义的,编译都无法通过。而且会报错:未定义的变量或函数等.
(1)c语言主函数与其他函数位置扩展阅读:
main函数,又称主函数,是程序执行的起点。C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。
其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。
intmain(void)//整数类型主函数(无类型)
{
...
y1=f1(x1,x2);//赋值过程
...
}
f1(inta,intb)//f1(整数类型a,整数类型b)
{
//网络示例代码.....
Y2=f2(x3,x4);//赋值过程
//网络示例代码
}
f2(intm,intn)//f2(整数类型m,整数类型n)
{
//网络示例代码
Ⅱ C语言规定,在一个源程序中,main函数的位置是在哪
C 正确;
如果main中调用函数,那么这个函数必须在mani函数的前面。但是也可以在main函数的前面声明。因为代码是从main 函数开始,一条一条的顺序执行的。
例:
abc();
main()
{
abc();
}
abc()
{
//内部实现
}
这样就是在前面声明。
例2;
abc()
{
//内部实现
}
main()
{
abc();//直接调用,因为abc已经在前面定义并且了。
}
Ⅲ c语言中,main函数的位置
程序执行的起点。
main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。
C++中的main函数
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统。
但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。
C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。
Ⅳ C语言规定,在一个C程序中,MAIN()函数的位置可以放在哪
放在前后都可以
函数的使用分为声明和定义
1.如果函数在主函数后面定义,则要在调用前声明。
2.如果函数在主函数之前定义,则调用前不用再此声明,直接用就可以。
注:函数的定义指的是有函数体,即指定了函数的功能,函数的声明是不用写出函数体的
例如:int max(int int);它是声明
int max(int a,int b);它是定义
{
a>b?a:b;
}
对于这些在C语言的书中还会有具体讲解。
Ⅳ c语言程序的主函数必须在其他函数之前吗一个c语言程序总是从主函数开始执行
c语言程序的主函数并不必须在其他函数之前。一个c语言程序总是从主函数开始执行,即便放在最后,也是从主函数开始执行。
Ⅵ C语言 子函数和主函数的放置前后顺序区别
先回答下第一个问题,子函数的实现方法可以放在使用它的主函数或者其它子函数后面,但是你的定义一定要在使用它之前;不然编译器怎么知道你用的函数square是什么,这就是我们经常包含头文件的一个目的,头文件是一些函数定义或者预编译命令。
修改是在#include<stdio.h>后面加
int square(int num);
第二个问题:num是在main定义是可以在main作用域内直接使用,或者当做参数传递给子函数,你的问题num为什么可以在子函数中用,首先你子函数的num并非main里的num只是你把他们名字写成一样了;main里num是通过值传递给子函数的num,实际他们两个num的内存地址是不一样的,你子函数换个名字去理解一下。
Ⅶ 在C语言程序中,主函数main()必须放在首函数的位置吗
不必,编译器编译时,是逐行编译的。但是它是先找到主函数,主函数编译完也表明这个程序已经编译完了。如果主函数放在其他函数之前,那么在主函数中要调用的子函数(自定义函数)要先在主函数之前声明它的存在。如:void fun(int n,int m);
在多数编程语言里,变量、函数(过程)、结构体、类、对象等都是必须先声明(或在使用它之前定义)后使用。未声明或未在使用它的函数之前定义的,编译都无法通过。而且会报错:未定义的变量或函数等!
Ⅷ C语言中主函数和被调函数位置能变吗
主函数和被调函数位置可以改变。不过如果被调函数和主调函数不在同一个文件中,或者被调函数在主调函数的同一文件内的下方,那么在主调函数调用被调函数前,需要进行被调函数的声明。
下面以主调函数为main,被调函数为func做例子,编写示例代码,辅助理解。
1 主调函数与被调函数在同一文件内,且被调函数在前。
这种情况直接调用即可。
#include<stdio.h>
voidfunc(void)
{
printf("thisisfunc ");
}
intmain()
{
func();
}
2主调函数与被调函数在同一文件内,且被调函数在后。
需要在调用前声明。
#include<stdio.h>
voidfunc(void);//在被调前声明,也可以在函数内声明,如下方注释。
intmain()
{
//如果没有在函数外声明,那么可以在函数内声明。如下:
voidfunc(void);//此处声明和函数外声明保留一个即可。
func();
}
voidfunc(void)//被调函数在主调函数之后。
{
printf("thisisfunc ");
}
3主调函数与被调函数不在同一文件内。
可以采用同第2种同样的声明方式,不过建议增加extern关键字,表明该函数为外部文件定义,但该关键字并非强制,没有同样不会出问题。
文件a.c
#include<stdio.h>
voidfunc(void)//存在于a.c中的func.
{
printf("thisisfunc ");
}
文件main.c
#include<stdio.h>
externvoidfunc(void);//声明为外部函数,无extern也可以。同样可以声明在函数内。
intmain()
{
//如果没有在函数外声明,那么可以在函数内声明。如下:
externvoidfunc(void);//此处声明和函数外声明保留一个即可。
func();
}
不过更常用的方式是把函数声明写在头文件中,并在主调函数所在的文件引用。
文件a.h
#ifndef_A_H_//这两行是为避免重复引用和循环引用。
#define_A_H_
voidfunc(void);//将函数声明置于头文件。
#endif
这种情况下main.c需要写成:
#include<stdio.h>
#include<a.h>//引用头文件。
intmain()
{
func();//调用函数。
}
Ⅸ C语言规定,在一个源程序中,main函数的位置( )。
答案选C,一个C程序总是从main函数开始执行的,不论main函数在整个过程中的位置如何。
系统执行了库文件的引用,打开了链接库,然后执行了函数外的定义和声明之后,就会自动寻找main函数,然后在main函数内自动调用其他函数。
main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库dll模块,这是其他windows程序可以使用的代码。由于DLL模块不是独立的程序,因此不需要main函数。
(9)c语言主函数与其他函数位置扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
参考资料:C语言网络