c语言return啥时候用(你能够理解多深)

return 关键字

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; //没有返回任何数据;

程序测试代码如下:

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

c语言return啥时候用(你能够理解多深)(1)

程序运行结果如下:

c语言return啥时候用(你能够理解多深)(2)

可以看到:

(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。程序测试例子如下:

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

c语言return啥时候用(你能够理解多深)(3)

c语言return啥时候用(你能够理解多深)(4)

程序的运行结果如下:

c语言return啥时候用(你能够理解多深)(5)

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

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

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

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

c语言return啥时候用(你能够理解多深)(6)

程序运行结果如下:

c语言return啥时候用(你能够理解多深)(7)

此时,我们可以总结:

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

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

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

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

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

c语言return啥时候用(你能够理解多深)(8)

程序运行结果如下:

c语言return啥时候用(你能够理解多深)(9)

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

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页