return 关键字

tech2022-07-07  226

C语言提供了return关键字,可以用于退出函数的运行,而且,可以在退出函数的时候,返回一个数据。

例如while循环语句中的break关键字一样,break语句可以跳出while循环语句,结束while循环语句的运行。那么,return关键字就是用于跳出函数,结束函数的运行。同时,可以给函数返回一个数据。

那么,return关键字退出函数运行的同时,给函数返回怎么样的数据?是什么类型的数据?是int类型?char类型?还是void类型?

其实,return返回的数据类型是由函数定义决定的,函数定义的时候,有“返回数据类型”这样的属性,它决定了return返回的数据类型。return关键字使用形式可以总结有:

(1) return 12; //返回一个整数12;

(2) return 12.345; //返回一个浮点数 12.345;

(3) return 'A'; //返回一个字符'A';

(4) return (x + y); //返回表达式 x + y 的结果值;

(5) return; //没有返回任何数据;

程序测试代码如下:

 

程序运行结果如下:

 

可以看到:

(1) 对于func函数,它的返回数据类型是void类型,表示为空,所以,在该函数中,return关键字后面不接任何返回数据,就接引号“;”表示一句代码的结束。

(2) 对于func1函数,它的返回数据类型是char类型,表示返回一个字符类型的数据,所以,func1函数中 return ‘A’; 语句就返回一个字符’A’。

(3) 对于func2函数,它的返回数据类型是int类型,表示返回一个整数型数据,所以,func2函数中return 100; 语句就是返回一个整数值100。

经过上面的例子讲解,我们知道了函数怎么样使用return关键字来返回一个数据。那么,我们怎么样获取到函数的返回数据?

其实,就是根据函数的返回数据类型,使用对应的数据类型的变量来接收。例如func1函数中,返回一个字符数据,那么,就可以有:

char c = func1();

可以看到,就是把func1()函数的返回数据,赋给字符变量c。程序测试例子如下:

 

 

程序的运行结果如下:

 

可以看到,把func1函数返回的数据,赋给字符变量c,把func2函数返回的数据,赋给整数型变量a。

所以,根据函数的返回数据类型,可以使用对应的数据类型变量,接收函数的返回数据。

return关键字的使用格式中,可以接一个表达式。如果表达式很复杂,存在计算的优先级,那么,表达式可以使用小括号来包含起来,定义表达式运行的优先级。程序测试例子如下:

 

程序运行结果如下:

 

此时,我们可以总结:

(1) return关键字的使用,是 return 表达式; 函数退出的时候,把表达式的结果返回;

(2) 如果函数想返回复杂的表达式,可以使用小括号包含起来,例如 return (表达式);

(3) 函数定义的时候,定义了函数返回类型,那么,可以使用函数返回类型定义变量,接收函数返回的数据;

return关键字就是用于结束函数的运行,所以,在一个函数中,可以有N条return语句,但是,只要执行到第一条return语句,就马上结束函数的运行。程序测试例子如下:

 

程序运行结果如下:

 

可以看到,在func函数中,有3条return语句,每一条都返回不同的数值,那么,根据函数的返回的结果,我们可以判断执行了那一条return语句。通过测试程序的运行结果可以看出,func函数只是运行了return 1;语句,就结束了函数的运行,往下的语句就没有继续运行。

所以,一个函数,只要是执行了return语句,就是推出函数的运行。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

最新回复(0)