重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你可以这么理解,比如我们定义了一个函数fun(),如果这个函数有返回值,那么在调用程序里面(比如主函数)就可以把这个函数当成一个数使用;如果没有返回值,那么通常他就是一个独立的语句存在。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了保亭黎族免费建站欢迎大家使用!
比如fun函数里面有个return 0;表示返回值是零,那么在调用函数里面就可以存在诸如
a=fun();b=a+fun();if(fun()=0{};……这类的语句,表示a=0;b=a+0;if(00){};等等,当然也可能是返回一个变量的值,你个指针的值是一样的。
如果没有return 语句,那么函数没有返回值,调用函数里面就不能把他当做一个数值来使用,会出现:
fun();单独成句的语句,在fun()里面可能进行了一些操作,但不需要结果。
C语言自带的函数通常都有返回值,计算函数返回计算结果,操作函数返回操作结果(成功返回1,失败返回0)
C语言指向函数的指针承载的信息比较复杂,组织起来要素要写全。根据指向函数的指针的书写语法,下面的代码就是一个返回函数指针的函数:
int (*f(void))(int){//f是函数,没有参数,返回指向一个函数的指针;这个被指向的函数有一个int型形参,且返回一个int值
return fun;//fun是个函数名,必须具备一个int形参、返回int值的要求
}
以下代码可以验证上述函数的正确性:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int fun(int n){
printf("abcdef\n");
return n;
}
int (*f(void))(int){
return fun;
}
int main(void){
printf("%d\n",f()(100));//调用函数f,通过f返回的指针用100调用函数fun
return 0;
}
输出是:
abcdef
100
C语言,有返回值的处理,可以分两种情况,1,返回一个值,可以用:
返回类型 函数名([参数列表])
{
return (返回值);
}
多个返回值,可以返回一个自定义结构体,
返回结构体 函灵敏名([参数列表])
{
return (结构体名);
}
也可用指针的形式,直接操作,此时,接收返回值变量的地址,可以以指针的形式,传递给函数),进行操作,具体方法和实例.
有返回值的函数格式为: 返回类型 函数名(参数);
没有返回值的函数格式为: void 函数名(参数);或 函数名(参数);
在定义函数时,函数体内有返回值的要用return返回相应的类型值,而没有返回值的不能用retur;语句,否则编译器会警告出错!
在定义的函数前面加上返回类型。
例如。
int fun(void)
{
return 99;
}