又问个小问题啦(void,return)

accountHLL 2010-04-20 10:43:34
一个比较细节的问题,如下
void inv(int *sp,int n)
{
int *i,*j;
int m=(n-1)/2,temp;
i=sp;
j=i+n-1;
for(;i<=sp+m;i++,j--)
{
temp=*i;
*i=*j;
*j=temp;
}
return;
}
边看边写时发现这个问题,既然函数被定义为void不返回的话,完全没必要写return了吧,但是书上加个return是什么意思呢?是不是纯粹是废代码?
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ora-0600 2010-04-20
  • 打赏
  • 举报
回复
return语句的基本格式有三种:return(表达式); return 表达式; return;
return语句的功能是使程序控制从北调函数返回到调用函数中,如果有返回值,同时把返回值带给调用函数。
函数中可以有多个return语句,在无参数无返回值的函数中return语句的形式只能是第三种(return;)
如果return语句不是在函数的最后一句,并且调用函数要提前退出程序,这时就用return语句退出程序。
accountHLL 2010-04-20
  • 打赏
  • 举报
回复
谢谢,知道了
mso105 2010-04-20
  • 打赏
  • 举报
回复
函数不需要返回值的时候,return不带参数,返回的为一个状态码,用来表示程序是否正确执行,计算机是需要这个状态码的。
huanmie_09 2010-04-20
  • 打赏
  • 举报
回复
该函数执行完后,会返回到调用它的地方。
要注意:如果不是在函数的最后一句,例如调用函数要提前退出,这时return的作用就显示出来了
huanmie_09 2010-04-20
  • 打赏
  • 举报
回复
是的,楼主可以把最后一句return去掉

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧