关于c语言中的无return的函数

看到一段代码,f函数无return语句,是否有问题?main()f(intb[],intx){inta[2]={2,4},x=5;{x++;f(a,x);b[0]+=2;... 看到一段代码,f函数无return 语句,是否有问题?

main() f ( int b[], int x)
{ int a[2]={2,4}, x=5; { x++;
f (a,x); b[0]+=2;
printf(“%d,%d,%d”, b[1]+=3;
x,a[0],a[1]); }
}
展开
 我来答
107080285
推荐于2016-01-14 · TA获得超过1114个赞
知道小有建树答主
回答量:390
采纳率:50%
帮助的人:164万
展开全部
编译器是可以通过的。但这不是标准的写法,f函数没有声明,那么在C语言中默认是int类型的,应该有return 语句。 而且也不利于调试,因为如果要使用调试工具gbd的话,它进入函数后一定要有return才能跳出来。 我建议写代码一定要养成好的习惯,这样可以避免很多麻烦。
追问
单说 f 函数,没有返回语句,系统怎么知道f(a,x)执行后的结果呢?
换句话说,没有返回值的子函数其处理流程是如何的?
风若远去何人留
2015-10-24 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部
当函数返回值类型为void,且不需要在函数体内部实现结束函数运行的功能情况下,函数体内可以不出现return 语句。

return是C语言的关键字之一,用于结束函数执行。当函数具有返回值时,可以通过return的参数,将值返回给主调函数。

函数从返回值角度上来说,有两种类型,带返回值和不带返回值的。
函数的定义形式为:
TYPE func_name(va_list);
其中,TYPE如果是void,则代表该函数不存在返回值,不需要通过返回值方式向主调函数传输数据。
这种情况下,在函数中调用return时,不需要带参数。如果函数不需要中途结束,那么return语句就不会出现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fd50dc2
2012-07-18 · 超过17用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:46.6万
展开全部
没有,该函数为void main 型,默认return NULL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
断霞7143
2012-07-18
知道答主
回答量:5
采纳率:0%
帮助的人:3.3万
展开全部
对于没有返回值的函数,可以没有return
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xux645312987
2012-07-18 · TA获得超过184个赞
知道答主
回答量:103
采纳率:0%
帮助的人:54.1万
展开全部
可以没有return
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式