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

很多函数不需要返回值 但在定义的时候有返回值
例如 #include<string ,h>中的 strcat( );

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

意义是什么

一楼讲那个我知道

你说的这问题总结一下有几点可以说:
首先就拿你说的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这个是打开文件的函数,它的返回值我们常用,这里只是提一点,它其实会返回打开的文件指针,但有一种情况就是文件没有打开,或是打开失败,这时初学者常忽略一个问题就是如果失败了咋办,如果不特别处理你还使用着那个失败的文件指针必然得不到想要的结果,甚至出现问题。所以别忘了某些函数在失败的时候的返回值,这和你问题似乎有些连系。

总结大至是以上三点吧,一个函数返回值并不是没有用的,库函数即然设置了一般都会有它的用意。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-23
  有返回值表示正确。
  return 0;
  0表示正常。在main函数中返回0,代表程序正常结束。
  void声明的函数表示不需要返回值,其实默认return 0,表示函数正常结束。
  在其他声明有返回值的函数,如int Add(...)进行加法操作,你返回一个值就是两个数相加后的结果,这个值是你需要在函数结束后获取的一个数值,因为你需要知道这个值是多少。
第2个回答  2011-08-07
很多函数在运行成功或不成功时都会返回一个整数,表示运行情况(像0或非零数),所以才在定义时添加了整型的返回值。这些返回值可以帮助程序员恰当地处理程序中的异常。
第3个回答  2011-08-07
3楼正解
第4个回答  2011-08-07
不需要的时候就定义返回类型为void 就好了么

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网