C语言-函数返回值return

Python015

C语言-函数返回值return,第1张

①为什么需要return?

为了回答这个问题,

我打算用 模块思维 来解释。

②定义模块(形参模块)

定义函数:f(s)(a,b)

满足公式:s=a+b

函数名:f(s)

形参: a,b(公式中的 变量

函数返回值:return s

③调用模块(实参模块)

主函数:main()表示用户自己编写的部分

调用函数:f(s)(1,2)

满足公式:x=f(s)(1,2)

函数名:f(s)和定义函数一致,产生调用

实参 :1,2( 赋值 给公式的值)

求值:printf("%d\n",x),求x的值?

④值的传递过程

调用模块 中调用函数x=f(s)(1,2)

将实参1和2的值赋值给

定义模块 中的形参a和b

(实参到形参是单向传递,不可逆)

定义模块计算出s=a+b=1+2=3

定义模块 中的return s

将s的值赋值给

调用模块 中的函数f(s)(1,2)

即x=f(s)(1,2)=s=3

~

return s的作用

就是将定义模块中的s

赋值 给调用模块中的调用函数

如果没有return s

调用模块中的调用函数将永远没有定值

即所求x 无定值

这一点和数学不一样,

数学中

同一函数名的值是 通用 的,

C语言中

定义函数和调用函数的值是 隔离 的,

尽管函数名一样

如果不赋值,调用函数永远无定值。

当一个函数不是void型的时候就必须有一个返回值(main)函数除外,这个返回值就看你这个函数本身是什么型的。返回值经常用来标志一些东西,比如一个游戏程序中的函数int

win()用来判断输赢,输返回0,赢返回1,然后主调函数可以根据它的返回值做相应的处理,比如这样的句子

if(win())

speed++(进入下一关)。

你可以这么理解,比如我们定义了一个函数fun(),如果这个函数有返回值,那么在调用程序里面(比如主函数)就可以把这个函数当成一个数使用;如果没有返回值,那么通常他就是一个独立的语句存在。

比如fun函数里面有个return 0;表示返回值是零,那么在调用函数里面就可以存在诸如

a=fun();b=a+fun();if(fun()>=0{};……这类的语句,表示a=0;b=a+0;if(0>0){};等等,当然也可能是返回一个变量的值,你个指针的值是一样的。

如果没有return 语句,那么函数没有返回值,调用函数里面就不能把他当做一个数值来使用,会出现:

fun();单独成句的语句,在fun()里面可能进行了一些操作,但不需要结果。

C语言自带的函数通常都有返回值,计算函数返回计算结果,操作函数返回操作结果(成功返回1,失败返回0)