社区
C++ 语言
帖子详情
void main() 和 int main()
sxh53
2011-04-28 11:06:35
为什么我们学的是void main()的呢?我是北邮的,用的人民邮电出版社的书
不过看网络上的都用 int main()
int main()
里面好像还可以设参数
而且还要return 0;
这个0 是什么意思?
我知道int 型函数要return
return 0是什么???
迷茫..
...全文
297
25
打赏
收藏
void main() 和 int main()
为什么我们学的是void main()的呢?我是北邮的,用的人民邮电出版社的书 不过看网络上的都用 int main() int main() 里面好像还可以设参数 而且还要return 0; 这个0 是什么意思? 我知道int 型函数要return return 0是什么??? 迷茫..
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我的职业是看店铺的
2011-04-29
打赏
举报
回复
在 int main()中,return 0表示返回一个整形,
正常结束,而在一般函数体中 return 0 表示不正常的结束。
其实 return 0 的一层含义是主函数到此结束
要是按标准来的话, main 应该有返回值, 但是实际上很多时候这个返回值对我们来说没有意义,这才有了 void main()
yby4769250
2011-04-29
打赏
举报
回复
[Quote=引用 9 楼 sxh53 的回复:]
引用 7 楼 pathuang68 的回复:
引用 4 楼 sxh53 的回复:
用int main()
要比 void main() 好么? 比如什么节省算法的。
我觉得int main()挺酷的 就是不会用
里面的参数是什么意思??
去翻翻最基本的书,上面都会有详细的说明。
楼主是不是学习非常好的那种人(考试成绩很好)?俺有一个清华计算机毕业的小弟,说他们班有……
[/Quote]
学校都是这么安排教学计划的啊,你学的数据结构应该也是C++语言版的,和你学习C++没有冲突啊,相反可以让你更深入的学习C++。学一个学期让你入门就行了(我们是开两个学期的C++课),入了门后就是自己学,大学的大多专业课都是这样的,老师是不会像高中那样,按照课本从头到尾完全教会你的,都是自学,自学是培养你的学习能力和自主能力
zhang46791
2011-04-29
打赏
举报
回复
俺就知道可以这样写,但具体的没去研究。参考各位的!!!嘿嘿
pywepe
2011-04-29
打赏
举报
回复
当你的程序运行于父进程创建的子进程时,这个int返回值意义重大
manmount
2011-04-29
打赏
举报
回复
[Quote=引用 20 楼 zhao4zhong1 的回复:]
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
[/Quote]
这个路线图非常好。我给你简化一下:计算机概论->dos系统->汇编->C
shihaobin
2011-04-29
打赏
举报
回复
一般的都要求时int main(),这比较正式一点,有些软件如果写作void main()时,运行时显示错误
xunxun
2011-04-29
打赏
举报
回复
你如果做GUI编程,几乎没有差别。如果是通过命令解释器装载的(cmd or shell),返回值表示的是否是安全的退出程序,如果安全退出,寄存器会有一系列的恢复动作。(如果不恢复,不是一定会出现问题,只会说有潜在的问题)。
我印象中现在C99标准要求编译器会在目标代码中最后自动加入 return 0,所以符合C99标准的编译器不加亦可,但建议加入。
赵4老师
2011-04-29
打赏
举报
回复
计算机组成原理→
DOS命令
→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
meteorshmily
2011-04-29
打赏
举报
回复
int main(int argc, char** argv) 这种用法,只有在外部程序调用该程序时,才会使用argc,argv的变量。这些变量可能用来设置编程的一些参数及传递一些外部数据。
l523669057
2011-04-29
打赏
举报
回复
main()函数的返回值是用来告诉操作系统:你的程序的执行情况,是正常执行结束了,还是不正常执行结束。以向操作系统对你程序使用的资源如何处理提供参考
lihanbing
2011-04-29
打赏
举报
回复
[Quote=引用 6 楼 yyg990441 的回复:]
1.根据C/C++标准,main函数只有2种标准的形式:
int main(void); 和 int main(int argc, char** argv);
至于教材的作者使用void main(),说明他没有看过C/C++标准中关于main函数的说明。显然任何牛逼的人在C/C++方面都没有标准牛逼,所以你的教材写错了(其实教材里面写错的东西应该很多吧,不信你去看看你教材里指针和数组是怎么……
[/Quote]
mian是C++标准库默认的程序入口点,这个入口点可以使任何名字,只要在link的时候指定即可
oldmtn
2011-04-29
打赏
举报
回复
[Quote=引用 6 楼 yyg990441 的回复:]
1.根据C/C++标准,main函数只有2种标准的形式:
int main(void); 和 int main(int argc, char** argv);
至于教材的作者使用void main(),说明他没有看过C/C++标准中关于main函数的说明。显然任何牛逼的人在C/C++方面都没有标准牛逼,所以你的教材写错了(其实教材里面写错的东西应该很多吧,不信你去看看你教材里指针和数组是怎么……
[/Quote]
up~~~~~~~~~~~
ssbb94
2011-04-29
打赏
举报
回复
6楼的第一句是对的。但是c++标准只是规定了各种实现至少要保证的main函数形式,各种编译器可能有自己独特的main,但是标准中规定的两种形式在所有编译器都是确保正确的。
manmount
2011-04-29
打赏
举报
回复
void main(void) 是VC
ISO c 是 int main()
bpeldesigner
2011-04-29
打赏
举报
回复
建议用INT MAIN(),标准的,其实main函数里有三个参数,楼主可以去查阅一下,linux下用过地三个参数
sxh53
2011-04-28
打赏
举报
回复
[Quote=引用 7 楼 pathuang68 的回复:]
引用 4 楼 sxh53 的回复:
用int main()
要比 void main() 好么? 比如什么节省算法的。
我觉得int main()挺酷的 就是不会用
里面的参数是什么意思??
去翻翻最基本的书,上面都会有详细的说明。
楼主是不是学习非常好的那种人(考试成绩很好)?俺有一个清华计算机毕业的小弟,说他们班有一个女生读书相当之NX,但在做毕设的时候,xp怎么……
[/Quote]
我成绩一般般...现在大一...对C++很感兴趣,想深入研究..但是貌似我们学校给开了这学期C++之后就不学了,转成数据结构...所以我就自己往深琢磨...
我的专业是通信
深钻c++有必要么....我现在都很困惑.
shun_qizi_ran
2011-04-28
打赏
举报
回复
现在用的最多的还是int main()的,建议用这个的
pathuang68
2011-04-28
打赏
举报
回复
[Quote=引用 4 楼 sxh53 的回复:]
用int main()
要比 void main() 好么? 比如什么节省算法的。
我觉得int main()挺酷的 就是不会用
里面的参数是什么意思??
[/Quote]
去翻翻最基本的书,上面都会有详细的说明。
楼主是不是学习非常好的那种人(考试成绩很好)?俺有一个清华计算机毕业的小弟,说他们班有一个女生读书相当之NX,但在做毕设的时候,xp怎么关机都不知道...搞得他们都很愕然。
费玉清唱歌唱得很好,不过据说他连简谱都不识...
都是些神人...
yyg990441
2011-04-28
打赏
举报
回复
1.根据C/C++标准,main函数只有2种标准的形式:
int main(void); 和 int main(int argc, char** argv);
至于教材的作者使用void main(),说明他没有看过C/C++标准中关于main函数的说明。显然任何牛逼的人在C/C++方面都没有标准牛逼,所以你的教材写错了(其实教材里面写错的东西应该很多吧,不信你去看看你教材里指针和数组是怎么讲的?再看看C90/99标准里面是怎么讲的)
2.既然main函数要返回一个整数,你就可以随便返回一个整数,如-1,-2等等。一般认为程序正常结束,main函数返回0
3.给你个建议先不要死抠这些细节,先培养自己的编程能力。
pathuang68
2011-04-28
打赏
举报
回复
main函数有点特殊,你可以不再最后加return,尽管前面声明要求返回int。因为如果在不加return的情况下,编译器会缺省地为你加上return 0;
其他函数则必须返回和函数声明时要求返回的类型保持一致,否则不能通过编译。
加载更多回复(4)
浅谈c/c++中
main
(),
int
main
(),
void
main
(),
int
main
(
void
)四者之间的区别
main
():相当于
int
main
()
int
main
():
int
是
main
()函数的返回类型。这表明
main
()函数返回的值是整数且授受任何数量的参数。
void
main
():
void
为空型。这表明
main
函数无返回值目受任何数量的参数。
int
main
(
void
):
main
不接受任何参数且返回的值是整数。另外请注意:
main
()为老式的写法。返回类型
int
在新型的编泽器通不可以省略,否则会有警告:
void
main
()为老式的写法。6.0及之前的vC使用这祥的写法。
C语言---
void
main
()、
int
main
()、
main
()、return 0
void
main
()、
int
main
()、
main
()、return 0
void
main
与
int
main
的区别
void
main
和
int
main
的区别就是有无返回值啊 在
int
main
可以出现非
int
类型的东西 我们在写代码时,一个函数要么有返回值,要么没有返回值,没有返回值就用
void
来表示。
main
函数同样的,在没有返回值时加个
void
。 有的编译器必须
main
要有返回值
int
, 那就写成
int
main
。 至于什么时候需要哪种写法,不必有这种顾虑,你可以一律都写成
int
m
void
main
与
int
main
的区别
http://users.aber.ac.uk/auj/
void
main
.cgi
C语言中到底是使用「
int
main
」还是「
void
main
」?
编译器对标准的执行不够严格,使得「
void
main
」能够被使用,进而涌现出大量包含「
void
main
」的示例代码,错误代码在程序员之间流传。在此种情形下,新的学习者或许会在不经意间承袭了这些旧有的、与标准不符的编程习惯。在早期的 C 语言实践过程中,鉴于不同操作系统与编译器的行为存在差异,部分编译器或许出于适配的考量而接受将
void
作为
main
函数的返回类型。与此同时,早期的编译器对于标准的执行并非严格,致使「
void
main
」的做法被错误地合法化,并在程序员群体中广泛传播。
C++ 语言
65,210
社区成员
250,519
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章