| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 708 人关注过本帖
标题:看书时有个不解的地方
只看楼主 加入收藏
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:2 
我还是坚信 你去看他写的  还是会有所悟 多多少少

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-02 14:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
被声明为int main(void)。这个声明的意思,表示这是一个函数,它将会返回一个int数据给调用者(因为是程序的入口点,调用这个程序的必定是操作系统,故这是返回给操作系统的东西,如果不是涉及操作系统特殊功能的程序,操作系统得到这种返回数据是没有什么用的。什么情况下有用呢?在DOS的批处理流程中,可以编写批处理程序根据命令的返回值执行后续命令。这种批处理程序,在Windows中被称为脚本),括号扩着的是这个函数的参数列表,void是没有的意思(既可以void参数,也可以void返回值)。


在你写的程序中,main()打算要js()返回的long值有什么用呢?如果有用,就返回,如果从来都没用,返回也多余,这个返回值又不赋给某个变量、又不用于逻辑判断。你可以写if(js() == 0){}或c=js()之类来使用,此时有用,现在写js();就是把返回值丢弃了,多此一举返回是浪费动作。

授人以渔,不授人以鱼。
2011-08-02 14:06
编译中。。
Rank: 7Rank: 7Rank: 7
来 自:中国
等 级:黑侠
帖 子:198
专家分:511
注 册:2011-7-29
收藏
得分:0 
回复 12楼 TonyDeng
你是说 void  用于一个不需要返回任何一个值的函数?

 当我感到些许疲倦时   便想躺在阳光下,小路旁 . 可这些往往都是奢望..
2011-08-02 14:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
是的

授人以渔,不授人以鱼。
2011-08-02 14:09
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
收藏
得分:0 
void就是代表空,也就是说你这个函数void printf_report(int report_number);最后不用加return了,就是不需要返回值,如果是int printf_report(int report_number);最后就肯定要有一个return,返回值的类型是整型
2011-08-02 14:10
编译中。。
Rank: 7Rank: 7Rank: 7
来 自:中国
等 级:黑侠
帖 子:198
专家分:511
注 册:2011-7-29
收藏
得分:0 
其实我对 返回,什么不返回什么  不是很理解,。有点别扭。  以后慢慢的 应该能体会吧

 当我感到些许疲倦时   便想躺在阳光下,小路旁 . 可这些往往都是奢望..
2011-08-02 14:14
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 16楼 编译中。。
有返回值就是说你这个函数执行完之后是一个值,可以赋给其他变量。 如果你的被调用函数仅仅用来实现大规模输出一些一些字符的那不用返回值啊,就像printf()函数一样,它执行完了后,不代表什么值啊。
2011-08-02 14:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用编译中。。在2011-8-2 14:14:01的发言:

其实我对 返回,什么不返回什么  不是很理解,。有点别扭。  以后慢慢的 应该能体会吧


你看printf()函数的返回,那个返回值是它这次执行过程实际输出了多少字符的数量,比如你输出"Hello,world!",它打印了12个字符,就返回12(你写个c = printf(),然后检查c是多少就知道)。如果它返回的值是负数,表示这次行动失败,发生了某种错误。有了这样的返回值,我们在调用之后,就能知道怎么做了,如果printf()返回了负数,你就知道发生了问题,要启动处理代码,然后才能确保下面的操作成功。其实很多人写printf()就算了,从来不检查它的返回值,是假定它没有出问题,但现实中,并不总是不出问题的,程序执行一万次没出错,不等于永远不会出错,只要有一次出错,就可能造成重大损失(比如这次甬温线动车事故,就是程序设计测试不过关,大多数时候没问题,但仍然有出问题的情形是自己从来没想到的)。

要不要返回,返回的数据怎么用,视自己的程序设计而定,没有死道理。

授人以渔,不授人以鱼。
2011-08-02 14:37
快速回复:看书时有个不解的地方
数据加载中...
 
   



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

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