相关疑难解决方法(0)


为什么C main函数可以使用或不使用参数进行编码?

只是想知道为什么这样

int main(void){}
Run Code Online (Sandbox Code Playgroud)

编译和链接

这样做:

int main(int argc, char **argv){}
Run Code Online (Sandbox Code Playgroud)

为什么不需要一个或另一个?

gcc甚至会编译并链接一个参数:

int main(int argc){}
Run Code Online (Sandbox Code Playgroud)

但是用-Wall发出这个警告:

smallest_1.5.c:3:1: warning: ‘main’ takes only zero or two arguments [-Wmain]
Run Code Online (Sandbox Code Playgroud)

我不是在问"他们怎么允许这个?" 但正如"调用者和链接器如何处理主要的多种可能性?"

c

7
推荐指数
2
解决办法
821
查看次数

标签 统计

c ×2

c++ ×1

program-entry-point ×1

return-type ×1

return-value ×1