在C语言中“void main(void)”与“main()”有什么区别?

celeil 2002-07-17 01:30:58
常常看到程序的主干部分都以void main(viod)或者main()开头。本来我没太在意,觉得没啥区别。最近使用dev-c++编译c程序时,我若用void main(void)开头,他就会有警告,如果用main()开头,就没有。我查了几本C的书,大部分C的教程都在一开始的事例程序中用void main(void),而只有K&R的书中,从头至尾都是main()开头。请问高手,这两个起头到底有啥区别呢?
...全文
6709 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hainanboy 2002-07-17
  • 打赏
  • 举报
回复
哪个对呢?
CSKART 2002-07-17
  • 打赏
  • 举报
回复
K&R C一般是在Linux/Unix下编写C程序时的写法.
现在都要求按ANSI C写程序.
即一切没有返回值的函数均赋予 void 函数名(形参列表)
一切没有参数的函数均赋予 返回类型 函数名(void)
main函数也要求这样.所以就出现了这样的问题
但K&R C默认 函数函数无返回类型即为int型.
main函数无参数即不处理命令行参数
不过你可以看看现在Linux/Unix下的C程序.
也都按第2中方法写了.
jyaqing 2002-07-17
  • 打赏
  • 举报
回复
void main(void)表示程序不返回任何值,并且程序不应该有参数。如果是
int main()并且在程序中返回 在VC中编译会有警告但不会有错。不知道我说的对不对,呵呵。
liubingqian 2002-07-17
  • 打赏
  • 举报
回复
在C语言中,若不指定函数返回值的类型,则默认为数值型,main()即相当于int main()。void main(void)表示程序不返回操作系统任何值,并且程序不应该有参数。
jishiping 2002-07-17
  • 打赏
  • 举报
回复
本身没有区别。在最初的C语言里的写法是main(),但是在现在的编译器上,
一般写成 void main(void) 或者 void main()。
liuns 2002-07-17
  • 打赏
  • 举报
回复
没有什么 void main(void)中的第一个void是给系统的说明这个函数没有返回值第二个则表示这个函数不带任何有实际意义上的参数。
rockbird 2002-07-17
  • 打赏
  • 举报
回复
你可以问func()和func(void)的不同
QXLEE 2002-07-17
  • 打赏
  • 举报
回复


查查msdn,main的参数

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧