标题:return 在函数中的作用
只看楼主
木1头2人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-11-3
结帖率:50%
 问题点数:0 回复次数:10 
return 在函数中的作用
为什么在int main()函数中要加入return *;
return *;有什么作用
搜索更多相关主题的帖子: return 函数 int main 
2017-11-03 22:35
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:0 
有些函数需要返回值。比如b=sin(x),就是函数sin()计算完成,把结果返回赋值给b.
还有一个作用就是告知函数结束,不管后面还有什么都不进行了,并且清理现场。
2017-11-03 22:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用木1头2人在2017-11-3 22:35:02的发言:

为什么在int main()函数中要加入return *;
return *;有什么作用

用什么编译器?
2017-11-04 06:48
z1991627
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-9-18
得分:0 
return一般用于主函数,可以理解为主函数的结束语。(自己见解)
2017-11-04 08:49
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
得分:0 
回复 4楼 z1991627
return的作用就是被调用的函数告诉调用函数我的工作完成了,或者遇到问题没法执行了,不同的返回值用来表示不同的运行状态或者故障原因。

其中0,1,-1三个数字在直接被返回时,大部分情况下程序都不再继续执行下去了,除非是被调用函数自身通过计算得到的这几个数字。比如

scanf()函数,根据你输入的不同,它回返回不同的数字,即使返回了0或者1,程序也会继续向下执行,因为这个数字是它自身运算得到的.

但是你自己写个函数,比如
程序代码:

int main(){
int f()
...
}
f(){
...
return 0;
}



这个时候,在执行完f()后,main()中f()后面的代码就不执行了.

代码测试环境:  WinXP+C-Free5.0.
2017-11-04 09:31
木1头2人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-11-3
得分:0 
回复 3楼 吹水佬
c语言编译器
2017-11-04 14:15
木1头2人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-11-3
得分:0 
回复 3楼 吹水佬
c语言编译器
2017-11-04 15:14
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用木1头2人在2017-11-4 15:14:01的发言:

c语言编译器

c语言编译器不只一种吧
我编译你这句:return *; 出错的?
2017-11-04 15:21
木1头2人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2017-11-3
得分:0 
回复 8楼 吹水佬
我只是不明白return 的作用,我看编程书中,有时写return 0;有时写return x;就蒙了
2017-11-04 19:31
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用木1头2人在2017-11-4 19:31:54的发言:

我只是不明白return 的作用,我看编程书中,有时写return 0;有时写return x;就蒙了

对于main()的return,这样看看:
1、先编译一个程序,假设文件名为 test.exe
int main(void)
{
    return 0;
}
2、打开“命令提示符”(cmd),令当前目录在 test.exe 的目录。
3、执行 test 命令,再执行 echo %ERRORLEVEL%,看到的是test.exe返回值为0。
4、执行 test && dir,看到的如执行dir命令显示当前目录下的文件。
5、上面代码 return 0; 改为 return -1; 后重新编译 test.exe,再执行上面的3、4步看看有什么不同。
6、再执行 test || dir 看看。
2017-11-04 20:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482099-1-1.html




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

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