• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言函数的返回值应该怎么返回

大少爷安安 2019-05-22 浏览量:885
函数的返回值应该怎么返回
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:12
  • 比如int fun();这个函数返回int值,那么在你的函数中必须return一个int类型的数据,如果为void fun();这个函数无返回值,函数中可以没有return。

  • 首先函数的类型应该先定义成非void型,如果是void型的话,有返回值反而是不对的。

    例如int fun(){}   char fun(){}等等都是可以的。

    其次函数中要有return语句,如果函数体里面涉及有选择分支的话,每个分支都需要有return语句,要保证每条路径都可以正常返回值

    否则编译还是会报警告的。

  • 在跳出函数之前加上return 某个值(类型与函数相同)就行。

    比如你的函数是int ave(){},那你return的要是整形,float ave(){},return的必须是float。

    数组指针也可以的。

  • 用实例来说明,我们定义一个简单函数

    int add( int a  int b){

        int sum;

        sum= a+b;

        return sum; // 这里就是返回值

    }

    有几点需要注意:

    1. 返回值类型必须和函数声明时的类型兼容,这里不是一致是因为允许自动类型转换,比如函数声明为int,但返回的值是return 的值实为char也是允许的,因为char 兼容于int, 类型兼容还是会引发编译警告, 但类型不兼容会引发编译错误。 最好提前进行显式强制类型转换来去除编译警告。

    2. 如果函数声明了类型,则表明必须有对应返回值,必须有return语句进行返回

    3. 返回值需要接收来使用,不接收的返回值没有用,需要理解正确调用有返回值的函数,返回值肯定存在的,但不一定用到,比如

    add(5 7); // 是一次对add函数的正确调用,产生了返回值12,但因为这里没有接收返回值,所以这个调用其实是无意义的,对这种返回值代表函数执行价值的函数,必须采用正确的方法接收函数返回值来进行后续处理,如这里

    int mysum;

    mysum = add( 5 7);


    但另外后面可能接触到一些函数虽然有返回值,但实际当处理信息的传递采用了另外的手段,返回值只表示执行状态,如果能确保都能被正确执行,则返回值可以不接收。比如常用的printf函数声明中其实有一个int 返回值代表函数执行状态,我们一般没有接收使用的。


  • 返回值就是函数退出后得到的一个值,这个值可用可不用比如

    int fun(void)

    {

    return 1;

    }

    当执行函数fun();返回就是1

    比如int a=fun();这个时候a就等于1

  • 对于c语言,函数最多只能有一个返回值,函数想要有返回值,必须保证定义函数时函数返回类型不能为void,根据需要函数返回值可以选择int,char,double等,如果想要多个返回值,可通过返回一个数组的首地址指针来实现返回多个值的功能,定义格式如:(int*) func(arr1arr2...)

  • 具体的关键字是函数里的return,想返回什么就return什么,不过在定义函数时,注意返回类型,如果是void的那就没有返回值,因为void是空的意思,其他的就是各种返回值的类型了

  • 在函数定义时要说明返回的数据类型,在函数内部用return返回值。也有的做法就是定义全局变量,在函数中给全局变量赋值,但不建议这样做。

  • 使用return语句就可以将后面的值返回到调用处了

  • 首先函数要定义成非void类型,,因为void类型是没有返回值的,有返回值反而是错的,

    然后在需要返回的地方,使用return var(这个量是你需要返回的值);语句就可以把你需要返回的数据返回到调用出

    注意,如果在函数体中有选择分支的话,每一个分支都要有返回语句,否则编译器会错或者警告。

  • 比如一个

    int xxx(void)

    {

        return 0;

    }

    这个0就是返回值

相关问题

问题达人换一批

C语言函数的返回值应该怎么返回