社区
C语言
帖子详情
void main(void)
jumpcolor
2003-07-14 07:17:29
为什么要在将main()写成这样void main(void)呢?如果没有参数也不返回值的话,什么也不写不就更省事么?
...全文
101
13
打赏
收藏
void main(void)
为什么要在将main()写成这样void main(void)呢?如果没有参数也不返回值的话,什么也不写不就更省事么?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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[])
辨析int
main
()、int
main
(
void
)、
void
main
(
void
)、
main
()和
main
(
void
)、int
main
() 和
void
main
()
//--------------------------------------------------标准的
main
函数格式为:int
main
(int argc, char *argv[]); /*即返回值为整型,带两个参数,argc为命令行参数的个数,argv为指针数组, 前argc个指针为参数...
void
main
与
main
(
void
)
void
main
与
main
(
void
) 第二个答案: https://www.zhihu.com/question/358133724 Returns: a pointer to
void
if successful, or NULL if not.
void
main
似乎是一个遗留问题, 在之后
void
main
应该是个ub ,编译器不会执行类型检查,汇编正常执行 有的编译器或许会添加上return 0; 而对于
main
(
void
): 取自:https://www.zhihu.com/ques
C++之
main
() ,
void
main
() ,int
main
()等区分
1、各种
main
函数 大家在看各种C++代码主函数时,发现,写法有很多种,比如: int
main
() { //代码 return 0; } int
main
(int argc, char* argv[]){ //代码 return 0; }
void
main
() { //代码 } //…… 2、对比 这些主函数本质上的区别是返回...
void
main
和int
main
的区别
其实
main
也是一个函数; #include<stdio.h>
void
main
(){ } 如上代码所示,
void
main
() 这样定义只是说明
main
函数没有返回值。 #include<stdio.h> int
main
(
void
){ return 0; } 如上代码所示,int
main
(
void
)和int
main
()是一样的(括号里没有东西就相当于
void
) 说明
main
函数有一个int类型的返回值。 int
main
()是C语言的规范,要求
main
函...
C 语言 int
main
() 和 int
main
(
void
) 的区别
在C语言编程中通常会看到 **int
main
()、int
main
(
void
)、
void
main
(
void
)、
main
()和
main
(
void
)、int
main
() 和
void
首先来看看标准的主函数写法是什么样的,在C99标准(ISO/IEC 9899:1999)的5.1.2.2.1 Program startup一节是这么描述的: The function called at program startup is named
main
. The implementation declar
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章