C语⾔main()函数应该怎么写
main()函数⼜称主函数,是程序执⾏的起点,在⼀个C程序中可以创建多个函数,但计算机总是先运⾏main()函数,学习的过程中我们可能会遇到多种main()函数形式,但哪⼀种才是正确的呢?
下⾯列举了⼏种常见的main()函数形式:
1. main()函数,没有返回值,也没有参数
#include<stdio.h>
void main(void)//void可以省略
{
printf("Hello World\n");
}
2. main()函数,有返回值,且为int类型,但没有参数
#include<stdio.h>
int main(void)//void可以省略
{
printf("Hello World\n");
return0;
}
3. main()函数,既有int类型返回值,⼜有参数
#include<stdio.h>
int main(int argc,char*argv[])
{
printf("Hello World\n");
return0;
}
以上三种main()函数均能正确编译并运⾏,但查阅C99/C11标准发现,标准规定main()函数必须是int类型,⾥⾯明确固定了两种写法:
c语言如何创建字符串数组int main(void){;}
int main(int argc,char*argv[]){;}
因为系统要根据主函数的返回值判断程序的运⾏状态,返回0表⽰程序正常结束,返回⾮0值则表⽰程序异常结束,所以规定主函数必须是int类型。
对于第⼆种和第三种情况,有时候不写 return 0; ,编译的时候既不会报错,也不会报警,也可以成功运⾏,这是因为函数运⾏的时
候,main函数会默认返回0值。
return 0;有2 个作⽤:⼀是使main()函数终⽌,从⽽结束程序(如果main()函数的末尾没有return语句,程序仍然能终⽌);⼆是表⽰main()函数返回值为0.
int main(int argc,char*argv[]){;}
main函数能以字符串数组的形式读取命令⾏参数。
由于C语⾔没有内置字符串,所谓字符串数组其实是⼀个字符指针数组,在C语⾔中,需要想办法知道数组的长度,所以main()函数有2个参数,argc的值⽤来表⽰数组中元素的个数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论