C\C++ 定义函数返回值不需要的情况下返回一个值有什么好处

很多函数不需要返回值但在定义的时候有返回值例如#include<string,h>中的strcat();回答请详细和专业点本人比较笨很多函数不需要返回值但大多数函数在定义... 很多函数不需要返回值 但在定义的时候有返回值
例如 #include<string ,h>中的 strcat( );

回答请详细和专业点 本人比较笨
很多函数不需要返回值 但大多数函数在定义的时候却有有返回值

意义是什么

一楼讲那个我知道
展开
 我来答
zxpointer
推荐于2017-10-01 · TA获得超过4100个赞
知道大有可为答主
回答量:1868
采纳率:33%
帮助的人:1195万
展开全部
你说的这问题总结一下有几点可以说:
首先就拿你说的strcat来说吧,它的返回值类型你可能没用过,不过类型是char*你可能也能够猜到它是连接后的字符串了。而且它确实如此。strcat(s,t);通过这个调用以后,t串将连到s串后边,那么s串就是我们连接好的串,同时它的返回值也是连接好的串,也就是返回值也是s,这就使得一个问题得以方便,比如我要连接这个串后并输出,那么你可能写的代码是这样:
strcat(s,t);
printf("%s\n",s);
但此处我也可以这么写:printf("%s",strcat(s,t));
我高兴的话还可以这么写:printf(strcat(s,t));
以上三个结果都是一样的。那你看,很显然后两种更简洁一些。
这也就总结出第一条,在处理程序中使得某些问题简化。通常这种在参数为指针时常见
再来看一个scanf 它的返回值,它的返回值你也应该从来没有用过吧?它的意义是返回正确读入变量的个数,比如scanf("%d",&i);如果正确读入一个整数的话它就返回1,否则返回0
那么通过这个1和0我们就可以判断它是否正确读入的变量,并且读了几个。在ACM中我们常见的写法是while(scanf("%d",&n)!=EOF) 来实现数据的循环读入
那么这第二条便是通过返回值来判断成败。
再比如说fopen这个是打开文件的函数,它的返回值我们常用,这里只是提一点,它其实会返回打开的文件指针,但有一种情况就是文件没有打开,或是打开失败,这时初学者常忽略一个问题就是如果失败了咋办,如果不特别处理你还使用着那个失败的文件指针必然得不到想要的结果,甚至出现问题。所以别忘了某些函数在失败的时候的返回值,这和你问题似乎有些连系。

总结大至是以上三点吧,一个函数返回值并不是没有用的,库函数即然设置了一般都会有它的用意。
百度网友4327fcbb9b
推荐于2017-09-23 · 知道合伙人教育行家
百度网友4327fcbb9b
知道合伙人教育行家
采纳数:26425 获赞数:292057
从师范学校毕业后一直在现在单位工作

向TA提问 私信TA
展开全部
  有返回值表示正确。
  return 0;
  0表示正常。在main函数中返回0,代表程序正常结束。
  void声明的函数表示不需要返回值,其实默认return 0,表示函数正常结束。
  在其他声明有返回值的函数,如int Add(...)进行加法操作,你返回一个值就是两个数相加后的结果,这个值是你需要在函数结束后获取的一个数值,因为你需要知道这个值是多少。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_over_there_
2011-08-07 · 超过15用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:47.8万
展开全部
很多函数在运行成功或不成功时都会返回一个整数,表示运行情况(像0或非零数),所以才在定义时添加了整型的返回值。这些返回值可以帮助程序员恰当地处理程序中的异常。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-07
展开全部
3楼正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e36d1c
2011-08-07 · TA获得超过409个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:110万
展开全部
不需要的时候就定义返回类型为void 就好了么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式