首页 理论教育 C语言程序设计-函数参数和返回值简介

C语言程序设计-函数参数和返回值简介

时间:2023-10-29 理论教育 版权反馈
【摘要】:函数也可以没有返回值,函数有没有返回值取决于函数定义时的类型,若类型为void类型,则表示函数无返回值,否则有返回值。执行格式2的return语句时,不仅结束函数的执行,还将表达式的值带回到调用处作为函数的返回值。

C语言程序设计-函数参数和返回值简介

1.函数的形参

形式参数”即形参是在函数定义时使用的参数,目的是用来接收调用该函数时传递的数据(实际参数)。如:“float max(int x,int y)”中的x,y是函数max()的形参;“float funy(float x)”中的x是函数funy()的形参。

函数形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。形参是在函数首部定义的,定义的方式与变量定义不同,一是定义的位置不同,形参在函数首部定义,变量是在函数体上部定义;二是定义的方式不同,形参定义时每个形参都要有类型说明符,变量定义时,多个变量可共用一个类型说明符。

2.函数的返回值

函数被调用(执行)后将返回一个值到调用函数处,函数的值类似于数学上的函数值。函数也可以没有返回值,函数有没有返回值取决于函数定义时的类型,若类型为void类型,则表示函数无返回值,否则有返回值。函数返回一个什么值取决于函数体中return语句中的表达式,下面先介绍一下return语句。

return语句的一般格式:

格式1:return;

格式2:return表达式;或return(表达式);

功能:执行格式1的return语句时,将结束函数的执行,返回到调用处继续执行程序。执行格式2的return语句时,不仅结束函数的执行,还将表达式的值带回到调用处作为函数的返回值。

一般情况下,格式1的return语句用在无返回值的函数中,作为函数的出口[(见例6.5(1)],也可以多处使用return语句,设置多个出口[见例6.5(2)],执行到哪个,哪个就起作用。也可以没有return语句,当函数执行完函数体的所有语句时,会自动结束函数的执行,返回到调用处,一般不建议省略return语句。

格式2的return语句用在有返回值的函数中,表达式的类型和函数的类型要一致,否则向函数的类型转换。有返回值的函数中没有return语句或有return语句没有表达式都是错误的。

【例6.5】无返回值函数示例。

(1)打印一行星号的函数。

程序内容如下:

1 void funa(int n)

2 {

3  int i;

4  for(i=1;i<=n;i++)

5   putchar(′*′);

6  putchar(′\n′);

7 }

(2)若一个数不能被3、5、7整除,则输出该数。

程序内容如下:

1 void funb(int n)

2 {

3  if(n%3==0) return;

4  if(n%5==0) return;

5  if(n%7==0) return;

6  printf("%d\n",n);

7 }

【例6.6】定义判断一个数是否为素数的函数。

程序内容如下。

参考函数1:(www.xing528.com)

1 int fun1(int n)

2 {

3  int i,a;

4  a=1;

5  for(i=2;i<=n-1;i++)

6   if(n%i==0)

7   {a=0;

8   break;

9   }

10  return(a);

11 }

参考函数2:

1 int fun2(int n)

2 {

3  int i;

4  for(i=2;i<=n-1;i++)

5   if(n%i==0)

6    break;

7  return(i<=n-1);

8 }

请思考一下,函数的返回值与n是否是素数的关系。此处,可将i<=n-1改成i<n。

参考函数3:

1 int fun(int n)

2 {

3  int i;

4  for(i=2;i<=n-1;i++)

5   if(n%i==0)

6  return(0);

7  return(1);

8 }

也请注意该函数返回值与n是不是素数的关系。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈