扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言中main函数可以在任意位置。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、做网站、海东网络推广、小程序制作、海东网络营销、海东企业策划、海东品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供海东建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
每一个C语言程序有且只有一个主函数(main()),且程序必须从main()函数开始,它是程序开始时调用的第一个函数。函数定义形式:【int main(void){}】。
C语言规定,在一个C程序中,main()函数可以在任意位置。
解析:
每个C程序有且只有一个主函数(main),且程序必须从main()函数开始执行,而且main()函数可以放在程序中的任意位置。
详细介绍:
在宿主环境中编译的C程序必须定义一个名为main的函数,这是程序开始时调用的第一个函数。
main()函数的定义有以下两种形式:
(1)函数没有参数,返回值为int类型。int main( void ) { /*…*/ }.
(2)函数有两个参数,类型分别是int和char**,返回值是int类型。int main( int argc, char *argv ) { /*…*/ }.
这两种定义方式都符合C语言标准。除此之外,许多C的实现版本还支持第三种、非标准语法的定义方式:int main( int argc, char *argv, char *envp ) { /*…*/ }.
函数返回值是int,有3个参数:第一个是int,另外两个是char**。
// C语言由bell实验室创立,但后续分支太多
// 所以ISO(国际标准化组织)制定了统一标准
// 目前通过的标准主要有3个 C89 C99 C11
ASNSI X3.159-1989 对应C89由ASNSI制定
ISO/IEC 9899:1990 还是C89,只是ISO从ASNSI那里“抄袭”过来,又称C90
ISO/IEC 9899/AMD1:1995 对于C89的补充,又称C95
ISO/IEC 9899:1999 C99标准
ISO/IEC 9899:2011 C11标准
//关于main函数的标准在C89和C99又有差异
类型一,不指明返回类型
main (){return 0;}
//这在C89中是合法的,因为不指明返回类型其实是隐含的告诉编译器,这个函数返回类型是int
//这在C99中是非法的,因为C99要求显式声明所有函数
类型二,不书写return ...;在main函数中
int main(void){}
// C89, 函数返回值未定义
// C99, 当main函数返回类型为int, 且没有写return语句时,默认返回0
// C99, 其他情况下,返回值未定义
类型三,定以返回值为非int
void main(void) {return;}
// C89, 非法(不bb, 就是非法)
// C99, 允许main函数返回类型由实现定义,支持void以及其他类型返回值
// 所以你的编译环境,不支持C99标准
// 而你的书,比较“新”
// 建议书写标准宏编译
#if __STDC_VERSION__ 199901L // 标准支持C99
void main(void)
#elif defined __STDC__ // 支持标准C(89/99)
int main(void)
#else // 如果都不支持,我也很难受
#error Standard C not support
#endif
解释如下:
1、int main()是C语言main函数的一种声明方式;
2、int表示函数的返回值类型,表示该主函数的返回值是一个int类型的值;
3、main表示主函数,是C语言约定的程序执行入口,其标准的定义格式为int main(int argc, char *argv[]);在int main()中,()中没有数值表示入参为空,等同于int main(void);
4、事例中printf("%f",a);表示将a的值作为浮点类型打印出来,在屏幕上显示,而主函数的返回类型int会将返回的值回传给主调进程,而不是在屏幕输出。
5、因此,printf的输出类型跟主函数的返回类型没有关系,互不关联。事例中,return 0 对应才是主函数的返回值类型。
拓展资料
在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main() 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。
参考资料:百度百科:main函数
intmain()表示函数有返回值,那么在main函数结束的时候要有return语句,如果没有就会有warningvoid表示函数没有参数。
拓展资料:
1、输出函数在主函数里,是以浮点型数据输出的,这个返回值是在屏幕上显示的。而 int main() 主函数返回的值是0,即 return 0; 这个返回值不是显示在屏幕上的,而是函数的一部分,因为C都是函数组成的,即使是主体,它也是一个完整的函数。
2、int表示它是返回值是int型(整型),main表示它的名字是mian (函数名),() 表示它是一个函数 (用C++的话来讲, 它相当于是重载操作符, 因为main是一个指针, 经过操作符的操作, 它才变成一个int型变量(或C++中的引用)。
3、()的意思在学C++前的重载前是不需要你掌握的, 知道有这个东西就可以.但是注意一下, C语言没有重载.
4、返回值为int型,会将返回的值回传给主调进程。在C语言中,对主函数的参数和返回类型检查并不严格,当不需要命令行参数时,就可以将参数列表设置为void。类似的,如果不需要返回信息给主调进程,返回值也可以设定为void类型。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流