打印
[技术问答]

C语言的main函数

[复制链接]
495|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
minzisc|  楼主 | 2025-3-25 21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1,是这样?

main(){}

2,还是这样?

void main(){}

3,还是这样?

int main(void){}

4,还是这样?

int main(){}

5,还是这样?

int main(int argc,char *argv[]){}

上面这么多种写法,那么哪种才是正确的写法呢?

查阅C89/C99/C11标准文档,里面明确固定了两种写法:

int main(void) { /* 。。。。。。 */ }int main(int argc, char *argv[]) { /* 。。。。。。 */ }

所以说,其他的写法并不符合标准,有些算是历史遗留有些算是编译器的扩展,还有些不知道从哪里生出来的。

所以说了这么多,为了代码的通用可移植性,建议采用标准提供的形式,还是推荐使用标准文档中规定的这两种写法。如果一个函数确定无需传入任何参数,那么用void限定是一个不错的选择。

使用特权

评论回复
沙发
loutin| | 2025-4-4 11:02 | 只看该作者
C语言要求所有函数必须显式声明返回类型

使用特权

评论回复
板凳
averyleigh| | 2025-4-4 12:01 | 只看该作者
main() {
    // 函数体
}

使用特权

评论回复
地板
51xlf| | 2025-4-4 13:33 | 只看该作者
void main() {
    // 代码
}

使用特权

评论回复
5
ingramward| | 2025-4-4 16:35 | 只看该作者
        无参数的通用程序              

使用特权

评论回复
6
burgessmaggie| | 2025-4-5 19:39 | 只看该作者
int main(void) {
    // 程序代码
    return 0; // 表示程序成功执行
}

使用特权

评论回复
7
everyrobin| | 2025-4-5 22:42 | 只看该作者
void main()              

使用特权

评论回复
8
jkl21| | 2025-4-6 07:21 | 只看该作者
在编写一个文件处理程序时,可以通过命令行参数指定要处理的文件名。

使用特权

评论回复
9
adolphcocker| | 2025-4-8 17:28 | 只看该作者
适用于大多数场景,尤其是无需处理命令行参数的程序。

使用特权

评论回复
10
biechedan| | 2025-4-9 21:04 | 只看该作者
建议使用int main(void)这种明确指定无参数的写法。

使用特权

评论回复
11
claretttt| | 2025-4-10 00:17 | 只看该作者
void main() {}              

使用特权

评论回复
12
vivilyly| | 2025-4-10 03:27 | 只看该作者
void main(){},这里返回类型是void。

使用特权

评论回复
13
mnynt121| | 2025-4-10 14:04 | 只看该作者
一些嵌入式系统或特定的编译器可能允许void main(),但根据ISO C标准,main必须返回int。

使用特权

评论回复
14
wwppd| | 2025-4-10 16:07 | 只看该作者
若程序不需要接收命令行参数,推荐使用int main(void);若需要接收命令行参数,则应使用int main(int argc, char *argv[])。

使用特权

评论回复
15
updownq| | 2025-4-10 18:16 | 只看该作者
main 必须返回 int,通常 return 0; 表示成功,非零值表示错误。

使用特权

评论回复
16
xiaoyaodz| | 2025-4-10 20:24 | 只看该作者
显式声明 void 参数,增强代码可读性。

使用特权

评论回复
17
burgessmaggie| | 2025-4-10 22:27 | 只看该作者
int main(void)              

使用特权

评论回复
18
cashrwood| | 2025-4-12 20:49 | 只看该作者
使用void main()              

使用特权

评论回复
19
pixhw| | 2025-4-12 22:42 | 只看该作者
int main(void):适用于大多数简单应用程序。

使用特权

评论回复
20
sanfuzi| | 2025-4-13 11:51 | 只看该作者
int main(void){}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

5556

帖子

4

粉丝