| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1465 人关注过本帖
标题:高手指教。这句话怎么理解?
只看楼主 加入收藏
a406571218
Rank: 2
等 级:论坛游民
帖 子:37
专家分:13
注 册:2011-6-11
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:27 
高手指教。这句话怎么理解?
return 0;这个函数值是返回给调用main函数的操作系统???这个是啥意思?谁能解释一下?谢啦。。
搜索更多相关主题的帖子: 函数 操作系统 return 
2012-02-29 23:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
你寫函數怎麼用它的返回值,操作系統也怎麼用你的main()函數的返回值。
你寫函數並不總要它有返回值,同樣操作系統也不總需要你的main()函數有返回值。
你寫函數儘管它有返回值,但並不總是使用(想想自己怎麼用printf()的),同樣操作系統也並不必然使用你的main()函數的返回值。
事實上,操作系統基本上沒怎麼使用你的main()函數的返回值,除非你的程序是操作系統的構件之一。

授人以渔,不授人以鱼。
2012-03-01 00:06
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:1 
回复 2楼 TonyDeng
版主,耐心点。说那么多干什么?

我们都是菜鸟,不要动不动就训。

你直接告诉我们,return(0)就是什么也不返回,不就得了。
2012-03-01 09:42
姚杰
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:169
专家分:477
注 册:2010-6-1
收藏
得分:1 
return 0是主函数的结束语句,当运行到return 0是,就会给主函数一个程序运行结束的信息,你也可以理解为是int main()的固定用法,没有返回值。但是,如果你的程序有错误的话,它就会反馈给主函数,所以还是有用的。

持之以恒,别留遗憾,加油
2012-03-01 10:02
a406571218
Rank: 2
等 级:论坛游民
帖 子:37
专家分:13
注 册:2011-6-11
收藏
得分:0 
回复 2楼 TonyDeng
额。谢啦。明白啦。。
2012-03-01 10:05
a406571218
Rank: 2
等 级:论坛游民
帖 子:37
专家分:13
注 册:2011-6-11
收藏
得分:0 
回复 3楼 fanliguang
谢啦。。明白了。。
2012-03-01 10:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 3楼 fanliguang
return 0是返回一个整數0,不是什麼也不返回。什麼也不返回時是沒有return語句的。

授人以渔,不授人以鱼。
2012-03-01 11:11
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:1 
回复 3楼 fanliguang
难得不是讲得越多越耐心?
T版 说话经常是这口气。能不能学到东西,就是你自己的态度问题了。

另外 return 0; 返回了 0,并不是什么也没返回。
而且main 不能不返回值。如果你写 void main (标准已经明确声明,这种声明的 main 函数是不合法的。不过很久以前确实可以),处理的方法其实就是默认它返回的是 0。
程序退出时 return 0,就表示程序是正常执行完毕的。任何非 0 值,表示程序在执行过程遇到了不同程序的错误或意外。
在自动化处理的时候,经常会数个工具协同使用。如果需要,你可以让操作系统监视,不允许任何程序错误退出。系统根本不知道工具软件的内部逻辑,只能靠它的返回值判断。


[ 本帖最后由 pangding 于 2012-3-1 11:23 编辑 ]
2012-03-01 11:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看看C++ Primer Fourth Edition P.213就知道了

不是所有語言都規定應用程序必須有返回值,C的所謂規定只能說是特例,C++沒有這種規定,C#也沒有。太在乎main()的返回值是非常沒有必要的事,“是否需要返回”而已。邏輯上,應用程序自己處理錯誤,即使發生無法自我修復的錯誤,也必須優雅地退出。返回退出信息是協作要求,不是“必須”。在main()之外的函數也可以結束程序(用exit()函數),一個應用程序不定是一個人寫的,各模塊的退出者不一定有相同的錯誤碼體系,在各模塊有很不相同功能的時候尤其如此。當一個C程序內嵌彙編重啟系統的時候,啥都不需要。

[ 本帖最后由 TonyDeng 于 2012-3-1 11:54 编辑 ]

授人以渔,不授人以鱼。
2012-03-01 11:33
youlanke
Rank: 1
等 级:新手上路
帖 子:7
专家分:2
注 册:2012-2-28
收藏
得分:1 
来学习的,
2012-03-01 13:04
快速回复:高手指教。这句话怎么理解?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019742 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved