但是任何学习过C语言的人都知道您需要首先编写主要功能。
但是,我们看到的主要功能在许多情况下是不同的。
为什么是这样?哪个是对的?今天我们将讨论主要功能。
那么主要功能有几个版本? 1. Main()直接mian()没有返回值,也没有参数。
实际上,某些编译器将显示警告并返回int的默认值。
但是,实际上在C89标准中是可能的。
由于未声明返回类型,因此将返回默认值int。
2. void main()初学者经常使用的一种形式,但是他们不知道来源在哪里。
在诸如C89 / C99 / C11之类的文档中都没有提到这种形式的痕迹。
该写入方法的返回值是空的,没有参数。
值得注意的是,一旦声明为空,则在程序退出后,就不可能获得其退出状态。
因此,不建议返回值为空。
3. int main(void)是一种更常见的书写方式。
这种编写方式的形式参数是无效的,这意味着它在被调用时不能传递任何参数,因此它无法获取命令行参数。
4. Int main()似乎与上面的第三个相同,但是仍然存在一些差异。
以以下示例为例:#include& lt; stdio.h& gt;无效test(); int main(){test(4); return 0;} void test(int a){printf(“%d”,a);}该程序仍可以正常运行。
尽管测试函数被声明为没有参数,但是可以使用任何参数或不使用参数来调用它。
5. int main(int argc,char * argv [])int argc的输入参数是命令行参数的数量,而char * argv []的输入参数是命令行参数的数组。
这种写入方法也比较普遍,主要用于需要从命令行获取参数的函数中。
6. int main(int argc,char * argv [],char * envp [])包含三个参数,第五个参数的升级版,int argc是命令行参数的数量,char * argv []是一个数组命令参数char * envp []是环境变量的数组。
尽管仅比第六种类型多一个参数,但是全局变量environ可以代替envp的角色,并且getenv或putenv可以用于获取或设置环境变量,因此无需使用此格式。
这种编写方式主要源于编译器的扩展。
有很多写方法,哪一种是对的?请查看C89 / C99 / C11标准文档,该文档明确地固定了两种书写方式:int& nbmain; void(& nbsp; {& nbsp; / *& nbsp; ...& nbsp; * / & nbsp;} int main(int argc,char * argv []){/ * ... * /}因此,其他编写方法不符合标准,有些是历史遗留下来的,有些是编译器的扩展,有些人不知道他们来自哪里。
说了这么多,对于代码的一般可移植性,建议使用标准提供的格式,或者建议使用标准文档中指定的两种编写方法。
如果函数确定不需要传递任何参数,则使用void限定是一个不错的选择。
那么,您了解如何编写主要功能吗? -END-猜猜您喜欢雷军(Lei Jun)在1994年编写的经典和古董代码。
百度副总裁被捕! 60种人工工具,可以满足并讨厌后期的& nbsp;& nbsp;& nbsp; & nbsp;如果您认为本文不错,那么转发和共享也是我们继续更新的动力。
5T资源正在销售中!包括但不限于:C / C ++,Linux,Python,Java,PHP,人工智能,PCB,FPGA,DSP,labview,微控制器等!回复“更多资源”在官方帐户中,您可以免费获得它,并期待您的关注〜长按识别图片中的QR码关注