中易网

c语言return 1和return 0有什么区别

答案:2  悬赏:80  
解决时间 2021-01-13 16:11
  • 提问者网友:不爱我么
  • 2021-01-13 03:39
c语言return 1和return 0有什么区别
最佳答案
  • 二级知识专家网友:野味小生
  • 2021-01-13 05:10
return跟函数的返回值。
主函数的返回值是要传给调用主函数的程序的,如果自己写的一个小程序直接运行,那么最终把这个值返回给操作系统了,然后被操作系统忽略掉。
如果在命令行里调用程序,那么是有办法检测返回值的,可以根据返回值来确定程序是否运行正常,是否出现了被零除、内存分配失败、I/O错误等异常情况。
追问:和防止程序漏洞有什么关系?
比如,if(i<0) return 1;
这样,就能防止输入的数字不小于0,那这里return 0也可以吗?
追答:函数返回值返回给调用者。例如:
int f()
{
return 1;
}
int main()
{
int a=f();
return 0;
}int a=f();这一句,f返回值1,用于初始化a。

return 0;这一句主函数返回值0返回给操作系统。

return什么都可以,只要类型匹配。

追问:把0返回操作系统是干嘛的?
追答:一般编程,main的返回值就是被操作系统忽略掉。
如果需要,你也可以检查这个返回值。
就像上例如果改成
int f()
{
return 1;
}
int main()
{
f();
return 0;
}就相当于f的返回值被”忽略掉“了。

主函数返回值被忽略掉很合理,因为操作系统也不知道这个返回值是用来做什么的。如果你需要用这个返回值做后续处理,用控制台打开这个程序,有方法可以获得这个返回值(就像上一次回答给的例子一样,用a保存了这个返回值,可以用a继续其它运算。
全部回答
  • 1楼网友:旧脸谱
  • 2021-01-13 05:22
前者其实就是1,后者就是返回值。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息