学科分类
目录
C语言

返回值类型

通过前面的讲解可知,函数的返回值是指函数被调用之后,返回给调用者的值。函数的返回值具体语法格式如下:

return 表达式;

return后面表达式的类型和函数定义返回值的类型应保持一致。如果不一致,就有可能会报错。如果函数没有返回值,可以直接在return语句后面加分号或省略return语句。需要注意的是,如果函数没有返回值,函数返回值类型要定义为void。

return语句将函数调用结果返回给调用者,函数调用就结束了,因此return语句的深层含义就是结束函数的执行。在函数体内,无论代码实现多么复杂,只要函数在执行时遇到return语句,函数执行就会立即结束,return语句后面的代码不会再执行。

下面通过一个案例演示return语句的作用,该案例要求定义一个函数,用于比较两个整数大小并返回较大的数据,如果两个整数相等,则返回0,具体如例1所示。

例1 return.c

 1    #define _CRT_SECURE_NO_WARNINGS
 2    #include <stdio.h>
 3    int compare(int x, int y)            //定义compare()函数
 4    {
 5        if (x > y)
 6            return x;                    //调用return语句
 7        else if (x < y)    
 8            return y;                    //调用return语句
 9        else
 10            return 0;                    //调用return语句
 11    }
 12    int main()
 13    {
 14        int a, b,ret;
 15        printf("请输入两个整数:");
 16        scanf("%d%d", &a, &b);
 17        ret = compare(a, b);
 18        printf("%d\n", ret);
 19        return 0;
 20    }

例1运行结果如图1所示。

图1 例1运行结果

在例1中,第3~11行代码实现了比较两个整数大小的compare()函数,该函数通过if…else if…else选择结构语句比较两个整数大小,如果满足条件就通过return语句返回结果。第14~16行代码,定义了程序需要的变量,并调用scanf()函数从键盘输入两个整数并赋值给变量a、b;第17~18行代码调用compare()函数比较a和b的大小,将返回结果赋值给ret变量,并调用printf()函数输出ret的值。

由图1可知,当从屏幕上输入56、48时,返回结果为56。在compare()函数调用过程中,会先执行第5行代码,满足条件之后执行第6行代码,通过return语句返回较大值,函数调用结束,后面第7~10行代码不再执行。

点击此处
隐藏目录