关于返回值的问题

既然一个函数只能返回一个值,那多个return语句有什么作用?可以举个例子说明一下吗... 既然一个函数只能返回一个值,那多个return语句有什么作用?
可以举个例子说明一下吗
展开
 我来答
无大智有大勇
2008-04-03 · TA获得超过441个赞
知道小有建树答主
回答量:502
采纳率:0%
帮助的人:338万
展开全部
我这个不是已经举例了嘛……我再加点解释吧,加在最后了

当函数执行到一个return时就返回了。不再执行以后的部分。

比如:

int readfile( char *sFileName )
{
FILE *fp;
if ( (fp=(fopen(sFileName,"r"))==NULL )
{
return -1;//当打不开文件时就返回。
}
int i = 0;
char buff[1024];
while ( !eof(fp) )
{
fgets(buff,1024,fp);
if ( buff[0] == 'a' )
{
return 1;//当前第一个字符为a时,返回
}
fclose(fp);
return 0;//执行结束时的返回。
}

如果一个文件不存在,那么int readfile( char *sFileName )会返回-1,因为它符合if ( (fp=(fopen(sFileName,"r"))==NULL )条件。而条件让它返回-1.之后的语句就不执行了。

如果一个文件存在,但它的第一个字符是a,那么函数int readfile( char *sFileName )会返回1,因为它符合f ( buff[0] == 'a' ) 的条件 ,而这个条件让函数返回1,但是我这个程序在这里会生成脏内存,因为我并没有关闭fp(这也是你以后return时要注意的)

只有当前两个条件都不满足,并且没有死循环的情况下这个函数才会返回0.

不知道这么说清楚不清楚
百度网友46c12d00b
2008-04-03 · TA获得超过1036个赞
知道小有建树答主
回答量:1129
采纳率:0%
帮助的人:879万
展开全部
根据不同的情况,在不同的点返回。

函数功能:输入一个数字n,如果n>10则返回n,否则返回10.

int func(int n)
{
if (n>10)
return n;
else
return 10;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式