void main()和 int main (void)有什么区别(C和C++中的也算)

 我来答
风雷九州
推荐于2017-10-01 · TA获得超过3025个赞
知道大有可为答主
回答量:1127
采纳率:100%
帮助的人:427万
展开全部
其实没什么区别。

void main() 这么定义只是说明main函数没有返回值
int main(void)和int main()是一样的,括号里没有东西就相当于void,只是说明main函数有一个int类型的返回值

C语言的规范里面要求main函数需要返回一个int类型的返回值来告诉操作系统这个程序是执行正确还是执行错误。执行正确返回0,执行错误返回非0。但是目前操作系统都不去判断这个返回值,所以你写成void main()还是int main()其实是一样的,没有什么区别。不过既然有规范,还是推荐写成int main()这种形式。

对于C和C++来说还有一点区别。C++加强了C的一些检查,我们知道C语言是弱类型的语言,编译检查没有那么严格。C++其实也是弱类型的语言(相对于java、c#这些高级语言),但是比C的检查稍微严格了一些。

如果我这么写
void main()
{
return 0;
}
声明的main函数没有返回值,但是代码里面我强制return 0,这个在C语言里面只会触发一个告警,但是在C++里面就是编译错误,检查严格了一下。

int main()
{
return;
}
这么写一样,声明需要返回一个int类型,但是代码里面不返回的话,C语言编译器不会报错但是C++就会报错。
更多追问追答
追问
返回值只要不是0,就一定执行错误么
追答
C语言是这么规范的而已,返回0代表执行正确,返回非0代表执行错误。

规范都是人定的,后面不是也说了嘛。现在的操作系统没人去判断这个,所以返回什么都无所谓了。
jy02142098
2015-01-10 · TA获得超过4720个赞
知道大有可为答主
回答量:8077
采纳率:0%
帮助的人:2529万
展开全部
前者是返回为空,后者输入参数为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
望舒凌霄
2015-01-10 · TA获得超过430个赞
知道小有建树答主
回答量:434
采纳率:0%
帮助的人:337万
展开全部
前者是返回值为空,后者是输入参数为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喊哥就好啦
2015-01-10 · 超过18用户采纳过TA的回答
知道答主
回答量:43
采纳率:66%
帮助的人:24.6万
展开全部
void main() 相当于
int main(){
;
return 0;}
还有main(void)相当于main()
更多追问追答
追问
必须有返回值?
追答
必须的,一个函数没返回值,就相当于没出口,那要这个函数干嘛?怎么解决问题?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威武马爷1315
2015-01-10 · 超过46用户采纳过TA的回答
知道答主
回答量:431
采纳率:0%
帮助的人:133万
展开全部
学的内容有些不同
更多追问追答
追问
。。。
追答
int 是整型的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式