马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Frog_Belly 于 2023-7-29 18:44 编辑
最近我学小甲鱼课程和看其他书的时候,发现书上的main和小甲鱼写的main很多都不一样,而且网上搜的也不是一样。
有的写成这样:有的写成这样:有的写成这样:有的写成这样:int main(int argc, char *args[])
...
小甲鱼写的是这样的:到底哪种是对的,新人怕之后学习走歪路,求大佬指点
在C/C++编程中,关于 main 函数的写法存在一些不同的风格和约定,但只有一种是标准且被广泛接受的。让我解释每种写法的含义,并告诉你哪一种是正确的。
1. int main()
这是最常见的 main 函数写法。 int 表示 main 函数将返回一个整数值作为程序的退出状态码。在C/C++中,程序成功执行通常返回0,非零值表示出现了错误或异常。例如, return 0; 表示程序正常结束, return 1; 表示程序出现了某种错误。
2. main()
这种写法省略了函数的返回类型,但在C/C++中,如果省略返回类型,编译器会默认为 int 类型。因此,这种写法与第一种写法是等价的。
3. void main()
这种写法将 main 函数的返回类型定义为 void ,表示 main 函数没有返回值。这是一个不推荐的写法,因为C/C++标准要求 main 函数必须有返回值,通常用来指示程序的执行状态。尽管一些编译器可能支持这种写法,但这不是一个良好的编程实践,应该避免使用它。
4. int main(int argc, char *argv[])
这种写法增加了两个参数: argc 和 argv 。 argc 表示命令行参数的个数, argv 是一个指向字符串数组的指针,每个字符串表示一个命令行参数。例如,执行程序时,可以通过命令行输入参数,比如 ./program arg1 arg2 ,那么 argc 将为3, argv[0] 指向程序名 "./program" , argv[1] 指向 "arg1" , argv[2] 指向 "arg2" 。这种写法在需要处理命令行参数的情况下很有用,但如果你的程序不需要处理命令行参数,可以不使用这两个参数。
5. int main(void)
这是C语言中最标准和推荐的 main 函数写法。它明确指定 main 函数没有任何参数,这意味着该程序不接受任何命令行参数。与第一种写法相比,它的返回类型也被明确指定为 int ,以便正确指示程序的执行状态。
所以,小甲鱼使用的 int main(void) 是正确且标准的写法。对于大多数C/C++编程场景,你可以安全地采用这种写法,它也是最为推荐的。遵循标准的写法可以帮助你养成良好的编程习惯,避免潜在的问题。
|