C语言中如果函数定义为了void 类型能不能用return返回值

如:voidequal(intx,inty){return(x==y);}这样可以吗是不是会错????... 如:
void equal(int x,int y)
{
return(x==y);
}
这样可以吗 是不是会错????
展开
 我来答
r1renhw
推荐于2018-02-22 · TA获得超过1577个赞
知道小有建树答主
回答量:810
采纳率:100%
帮助的人:415万
展开全部
return的功能是终止一个函数
函数类型是void类型,也是可以加return的
但是其后面不能加任何数值 表示函数到此为止

# include "stdio.h"
void main(void)
{
printf("这是return之前的语句\n");
return;
printf("这是return之后的语句\n");
}
/*
在vc++6.0中的输出结果:
------------------------
这是return之前的语句
Press any key to continue
------------------------------
*/
匿名用户
2012-11-14
展开全部
viod会告诉函数不返回任何值,也就是说你声明了一个函数是不需要返回值的,但是你又return 了一个值,这样就会矛盾了。在上面那个自定义函数中,楼主可以把void换成 int,也就是让函数返回一个整形,或者楼主不愿意改void的话可以在函数中用printf来替换return.
楼主应该是刚开始学习c语言,在这里说一下,只要能够坚持下去,c语言一定能够学好的
更多追问追答
追问
但是我如果想从函数中出来可以写return吧
如:
void XX()
{
----------;
---------;

if()
return;

------------;
}
追答
如果楼主想从函数中跳出来,return 是可以的,为什么楼主声明了函数返回值是void这次却能用return,而上面那个不能呢,因为你上面那个返回了值,也就是return(x==y);,下面这个return没有返回任何值,在没有返回任何值的情况下,return有结束当前函数的功能。不知道这样说楼主能不能理解。
当然扩展一下:除了能用return;来表示跳出当前函数之外exit()也是可以的。
如果想从do-while、for、while循环语句中跳出来可以使用break函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鹏宇郭
2012-11-14
知道答主
回答量:49
采纳率:0%
帮助的人:25万
展开全部
可以有返回语句,这样写:return;但不能返回任何值。 x==y这个表达式是有值的,为1或0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星雅乐16
2012-11-14 · TA获得超过123个赞
知道答主
回答量:94
采纳率:0%
帮助的人:29.4万
展开全部
不对,void 指的就是返回类型为空,不能有返回值,如果你就是想返回的话把void 变成bool
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
箫聚星月
2012-11-14 · TA获得超过333个赞
知道小有建树答主
回答量:637
采纳率:0%
帮助的人:456万
展开全部
void类型无返回值,如果返回会报错,你可以将void改为int。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式