void main(void)

jumpcolor 2003-07-14 07:17:29
为什么要在将main()写成这样void main(void)呢?如果没有参数也不返回值的话,什么也不写不就更省事么?
...全文
67 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
njuhuangmy 2003-07-14
  • 打赏
  • 举报
回复
楼上 解释的 够 详细 了

呵呵, 如果 写自己的程序 ,随便

不过, 最好 还是 按 标准 来写 ;)

养成 好习惯 很重要
glasswing 2003-07-14
  • 打赏
  • 举报
回复
只有10分?。。。

这个问题要怪到K&R身上。他们当初发明C的时候,竟然没有考虑到这一点,把
fun();
这种形式的声明,解释成为
int fun(...); // 一个返回int的函数,注意那时候对参数是什么他们不关心

后来,ANSI C出现了,有了函数原形的概念;就是,每个函数使用之前先要声明,比如:
double fun(double, double);
但是为了兼容老的C,就不能从新定义
fun();
这个声明的语义,不过这种声明被称为不好的风格。那么怎么来声明没有参数及返回值呢?对了用void;

C++出现了,Bjurne Stroustrup是一个顽固的坚持在任何地方使用类型检查得家伙。他说:
fun();
这种声明是不合法的。于是我们现在可以用()来表示没有参数,返回值...哎你不会认为一个void很难敲吧?如果没有void某个老家伙可能把返回值当做一个整数;再说,怎么和constructor&distructor这种没有返回的函数相区别呢?

另:标准c++定义了main的原型必须是以下2者之一:
int main();

int main(int argc, char* argv[]);
cnxiaohai 2003-07-14
  • 打赏
  • 举报
回复
楼主市标准得C语言后遗症~~~~~~~~~~~~~~~~~~
xxking 2003-07-14
  • 打赏
  • 举报
回复
差不多嘛
wowowowo 2003-07-14
  • 打赏
  • 举报
回复
不写的话
会有警告
为了不会有警告 就把void写上吧
overawe 2003-07-14
  • 打赏
  • 举报
回复
int main(int argn, char argv[])

第一个 int 是主程序的返回值 一般没什么用 不过
有的时候操作系统可以捕获这个返回值 以确定程序是不是正常的结束

第二个 是 打命令的时候 比如 dir /w 吧 是捕获那个 /w的
galoit 2003-07-14
  • 打赏
  • 举报
回复
同意pooryaya(桔子)的意见

许多书中不提倡用void
jscsqb 2003-07-14
  • 打赏
  • 举报
回复
如果不写任何一个的话,一般只会出来警告提示。
但是程序还是可以运行的。
pooryaya 2003-07-14
  • 打赏
  • 举报
回复
回复人: leasun(leasun) ( ) 信誉:100 2003-07-14 19:23:00 得分:0


标准C++中的定义是
int main()或int main(int argn, char argv[])


同意
现在C++不提昌用void了
bigtea 2003-07-14
  • 打赏
  • 举报
回复
这是C++中的东西
housisong 2003-07-14
  • 打赏
  • 举报
回复
什么也不写 表示返回 int, 这可是不太规范
MaiCle 2003-07-14
  • 打赏
  • 举报
回复
参数可以不写,如果没有返回值则写:void
leasun 2003-07-14
  • 打赏
  • 举报
回复
保准C++中的定义是
int main()或int main(int argn, char argv[])

69,371

社区成员

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

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