C语言return语句的2种用法(附带实例)
在 C语言函数体中,常会看到这样一条 return 语句:
return 语句的作用有两个,下面进行详细介绍。
返回值也需要约定类型,因此定义函数时,需要明确指定函数返回值的类型。例如:
注意,return 语句后面的括号可以省略,即 return 0 和 return(0) 是相同的。另外,函数也可以没有返回值。例如,返回值类型为 void 的函数就没有返回值。
例如,编写函数 getTemperature(),返回一个体温值。具体代码如下:
getTemperature() 函数的定义中,定义了一个浮点型变量,用户通过提示信息输入一个温度值,最后将温度值返回。在这里可以看到,getTemperature() 函数中定义的温度值是 float 型,所以返回的也是 float 型变量。
运行程序,结果为:
例如:
return 0;这就是返回语句。
return 语句的作用有两个,下面进行详细介绍。
C语言return返回一个值
用户调用函数时,通常是希望得到一个确定的返回值。在 C 语言中,该返回值是通过 return 语句实现的。返回值也需要约定类型,因此定义函数时,需要明确指定函数返回值的类型。例如:
int Max(int iNum1, int iNum2); /* 函数返回值类型为 int */ double Min(double dNum1, double dNum2); /* 函数返回值类型为 double */ char Show(char cChar); /* 函数返回值类型为 char */如果函数返回值的类型和 return 语句中表达式的值不一致,则以函数返回值的类型为准。数值型数据可以自动进行类型转换,即函数定义的返回值类型决定最终返回值的类型。
注意,return 语句后面的括号可以省略,即 return 0 和 return(0) 是相同的。另外,函数也可以没有返回值。例如,返回值类型为 void 的函数就没有返回值。
例如,编写函数 getTemperature(),返回一个体温值。具体代码如下:
#include<stdio.h> /* 包含头文件 */ float getTemperature(); /* 声明函数 */ int main() /* 主函数 main */ { getTemperature(); /* 调用函数 */ return 0; /* 程序结束 */ } float getTemperature() /* 自定义温度函数 */ { float temperature; /* 定义浮点型变量 */ printf("please input a temperature:\n"); /* 输出提示信息 */ scanf("%f",&temperature); /* 输入一个浮点型变量 */ printf("当前体温是:%.1f\n",temperature); /* 输出当前温度 */ return temperature; /* 返回温度值 */ }首先为程序声明一个 getTemperature() 函数,在主函数调用自定义 getTemperature() 函数。
getTemperature() 函数的定义中,定义了一个浮点型变量,用户通过提示信息输入一个温度值,最后将温度值返回。在这里可以看到,getTemperature() 函数中定义的温度值是 float 型,所以返回的也是 float 型变量。
运行程序,结果为:
please input a temperature: 36.5 当前体温是:36.5
C语言return退出函数
C程序中,有两种方法可以终止函数执行,返回到调用函数位置。- 函数体中的所有语句都已执行完毕,遇到结束符号“}”后自动返回;
- 遇到 return 语句,随即返回。
例如:
#include <stdio.h> int main() { printf("程序执行中......1\n"); return 0; printf("程序执行中......2\n"); }执行程序,结果为:
程序执行中......1通过输出结果不难看出,main()函数中的第 2 个 printf() 并没有执行,程序执行到 return 0 就结束了。