社区
C语言
帖子详情
关于C语言中一个函数内多个return语句的问题
CST08055
2011-11-14 07:29:03
int DestroyList( SqList &L )
{ if (!L.elem) return 0;
free(L.elem);
L.elem=NULL;
L.length=0;
L.listsize=0;
return 1;
}
这是一个C函数,我的问题是:if (!L.elem) return 0;这个return 0执行后,后面的语句(包括return 1;)还会执行吗?
我为此困扰了好久,希望有大神能详细解答!
...全文
1326
27
打赏
收藏
关于C语言中一个函数内多个return语句的问题
int DestroyList( SqList &L ) { if (!L.elem) return 0; free(L.elem); L.elem=NULL; L.length=0; L.listsize=0; return 1; } 这是一个C函数,我的问题是:if (!L.elem) return 0;这个return 0执行后,后面的语句(包括return 1;)还会执行吗? 我为此困扰了好久,希望有大神能详细解答!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qzf368
2011-11-15
打赏
举报
回复
[Quote=引用 21 楼 wizard_tiger 的回复:]
遇到return就跳出函数了,后面都不执行了。
[/Quote]
right
xiaoshu163000
2011-11-15
打赏
举报
回复
这个问题很深奥吗???难道我又小白了
lbxg
2011-11-15
打赏
举报
回复
[Quote=引用 9 楼 feidegengao 的回复:]
建议查找return语句的用法
[/Quote]
我也觉得如此
心死
2011-11-15
打赏
举报
回复
return执行就跳出了
wizard_tiger
2011-11-15
打赏
举报
回复
遇到return就跳出函数了,后面都不执行了。
muku9527
2011-11-15
打赏
举报
回复
LZ 结贴吧,0%的结贴率,上面的人意见一致。没有悬念了。
AnYidan
2011-11-14
打赏
举报
回复
每一个可控分支应该有一个出口,
google flow chart
goldbeef
2011-11-14
打赏
举报
回复
[Quote=引用 3 楼 keiy 的回复:]
if (!L.elem)
如果这个表达式为真
return 0;
那函数就返回0,后面的程序不可能被执行了
当(!L.elem)为假时,执行后面的程序,直到return 1;
[/Quote]正解;
return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
renjianguokeivor
2011-11-14
打赏
举报
回复
[Quote=引用 5 楼 zhaghi 的回复:]
其实是这样的,你就懂了
int DestroyList( SqList &L )
{ if (!L.elem)
{
return 0;
}
else
{
free(L.elem);
L.elem=NULL;
L.length=0;
L.listsize=0;
return 1;
}
}
[/Quote]
顶
孤寂-摩天輪
2011-11-14
打赏
举报
回复
一个函数只能有一个返回值,所以当前面的return语句执行后后面的不再执行
wjjll123
2011-11-14
打赏
举报
回复
必须肯定一定不执行了。
南山道人
2011-11-14
打赏
举报
回复
就如switch结构里面遇到break语句一样
modicum_ck
2011-11-14
打赏
举报
回复
[Quote=引用 3 楼 keiy 的回复:]
if (!L.elem)
如果这个表达式为真
return 0;
那函数就返回0,后面的程序不可能被执行了
当(!L.elem)为假时,执行后面的程序,直到return 1;
[/Quote]
只执行一次return,执行return后,那么关于这个函数后面的代码都不会执行了,不管后面写的什么东西。
pengsheng1988
2011-11-14
打赏
举报
回复
return 之后,就跳出函数了。一个函数有几个分支的话,有几个return很正常,意思就是执行完该分支就跳出函数,不往下执行了。
苏客达
2011-11-14
打赏
举报
回复
不会,只要遇到return语句函数就返回。
JIN_H_
2011-11-14
打赏
举报
回复
必须不会啊。函数在执行的过程中return一执行,立刻返回上级函数中。所以return后面的语句不会再执行了。
菜鸟啊超
2011-11-14
打赏
举报
回复
调用一个有返回值的函数时,当遇到一个return,注意是任何一个return,就会跳出函数调用,即函数调用结束。
feidegengao
2011-11-14
打赏
举报
回复
建议查找return语句的用法
绿领巾童鞋
2011-11-14
打赏
举报
回复
分支有RETURN 很正常啊
ProgrammingRing
2011-11-14
打赏
举报
回复
不会执行。。这类问题你可以debug下嘛
加载更多回复(6)
在
c语言
中
通过
return
语句
,
c语言
中
return
的用法
c语言
中
return
的用法
函数
的返回值是指
函数
被调用之后,执行
函数
体
中
的代码所得到的结果,这个结果通过
return
语句
返回。
return
语句
的一般形式为:
return
表达式;或者:
return
(表达式);有没有( )都是正确的,为了简明,一般也不写( )。例如:
return
max;
return
a+b;
return
(100+200);1、
return
语句
可以有
多个
,可以出现在
函数
体的...
c语言
函数
遇到
return
就结束,关于
c语言
中
return
的用法介绍
关于
c语言
中
return
的用法介绍发布时间:2020-04-21 16:18:52来源:亿速云阅读:334作者:小新本篇文章和大家了解一下关于
c语言
中
return
的用法介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
c语言
中
return
的用法
函数
的返回值是指
函数
被调用之后,执行
函数
体
中
的代码所得到的结果,这个结果通过
return
语句
返回。
return
语句
的一般形式为:re...
函数
中
有
多个
return
?
C语言
中
,
一个
函数
可以有几个返回值?
在移植wifi的代码时,遇到了一些与下面类似的
函数
,这些
函数
中
有不只
一个
return
,这可是个新鲜的玩意儿: int func (int b) { int a=5; if (a>b)
return
a; else
return
b;
return
0; } 原来C/C++
中
,reutrn
语句
是这样定义的: 通过在函
c语言
||
一个
函数
能
return
好几个?(产生
多个
返回值)
c语言
||
函数
产生
多个
返回值???? 有一天,我正愉悦地写着
函数
,突然,我想让这个
函数
返回
多个
值, 一下子懵逼了呀 无奈之下,只好翻阅资料,整理了这篇文章 本文的结构如下: 1.三种
函数
返回
多个
返回值的方法: 1.全局变量法(慎用) 2.数组指针法 3.结构体指针(结构体也是个
函数
) 2.三种方法的注意点及建议使用场...
C语言
中
的
函数
:
return
语句
、数组做
函数
参数、嵌套调用和链式访问、
函数
的声明和定义
C语言
中
的
函数
:
return
语句
、数组做
函数
参数、嵌套调用和链式访问、
函数
的声明和定义
C语言
70,018
社区成员
243,266
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章