大家好,今天小编来为大家解答以下的问题,关于C语言的main函数有哪几种写法?,这个很多人还不知道,现在让我们一起来看看吧!
无参数版本:
NO.1
main(){}NO.2
void main(){}NO.3
int main(){}NO.4
int main(void){} 有两个参数版本:
NO.5
int main(int argc,char *argv[]){}NO.6
int main(int argc,char **argv){} 有三个参数版本:
7号
int main(int argc, char* argv[], char* envp[]) 写法1在C90标准下可以正常编译,但在C99和C11标准下会抛出警告(返回值不写,默认返回值是int,相当于写方法1和写方法3)。写法2-6在C90、C99、C11标准下都可以正常编译。这么多的写法中,哪一种是main函数的标准写法呢?于是查阅了C标准文档中main函数的标准写法,如下图:
从标准文档可以看出,写法4、5、6是main函数的标准写法。 main函数由操作系统调用。操作系统会根据main函数的返回值判断程序是否正确执行。这是为了使C程序更加可移植。写法5和写法6是等价的。第一个参数表示主函数参数的个数,第二个参数使用指针分别指向这些参数。 argv[0]代表程序名,argv[1]到argv[argc-1]代表程序参数。写法7是在argc和argv的基础上添加一个环境变量参数。环境变量的形式为“ENV=value”。参数类型为指针数组或辅助指针。我们看一下main函数的返回值。见下图。
用户评论
这篇文章写的真不错!我对C语言一直有点兴趣,想学习一下。不知道还有没有其他更简洁高效的main函数写法?希望作者能分享更多经验!
有6位网友表示赞同!
我也是刚学C语言的,之前看到过一些奇怪的main函数写法把我搞得一头雾水了,这篇文章解释得很详细,受益匪浅!
有12位网友表示赞同!
我以前写C程序的时候也喜欢用printf打印一些信息,虽然这个写法效率不算高,但对于初学者来说更容易理解。
有20位网友表示赞同!
其实main函数写法的规范化非常重要,可以提高代码的可读性,方便团队协作和维护。 不过不同的项目需求也不一样,有时候灵活运用也需要。
有5位网友表示赞同!
这篇文章说的对,不管怎么写主函数最终都要调用函数来完成程序的功能,学习C语言还是要注重核心知识点,而不是仅仅局限于一些外层的写法
有19位网友表示赞同!
我想了解一下这些main函数写法的优缺点,以及在实际项目中应该如何选择合适的写法?
有13位网友表示赞同!
我尝试用scanf和getchar收集用户输入后执行相应的操作,感觉比单纯用printf打印信息更灵活实用。不知作者对这种写法有什么建议?
有20位网友表示赞同!
这篇文章太简洁了,我想了解一下为什么需要这么多不同的main函数写法,是否有具体的场景和理由呢?
有18位网友表示赞同!
我觉得C语言的main函数写法确实有点多样化,新手容易感到混乱。希望作者能提供更系统性的学习建议。
有10位网友表示赞同!
我也觉得这种写法比较灵活,可以根据程序需求进行调整,提高代码的可维护性。
有12位网友表示赞同!
写的太简单了,C语言可不是这样学到的啊!
有9位网友表示赞同!
虽然这些写法都实现了main函数的功能,但我更倾向于简洁直白的语句,方便理解和修改。这样写起来效率会更高。
有19位网友表示赞同!
我觉得文章中的一些例子过于简化,缺乏实际案例分析。希望作者能够提供更深入的讲解和实例说明。
有6位网友表示赞同!
这种写法对于程序的运行速度有影响吗?我想要了解一下高效代码开发的经验
有7位网友表示赞同!
感觉这篇文章对C语言学习者的帮助有限,并没有提到一些关键概念和高级技巧...
有20位网友表示赞同!
文章没有解释为什么每个写的main函数都有优缺点?比如在哪些场景下更适合使用哪种写法!比较局限
有17位网友表示赞同!
我想要了解更多关于不同版本C语言之间main函数的差异,以及一些最新的实践经验。
有20位网友表示赞同!