c 调用oracle函数返回值,C语言 函数参数说明 与 返回值

在C语言中,函数的参数分为形参和实参。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在函数调用中。

C 语言是结构化语言,它的主要结构成分是函数。函数被作为一种构件,用以完成程序中的某个具体功能。函数允许一个程序的各个任务被分别定义和编码,使程序模块化。本章介绍 C 语言函数的设计,如何用函数分解程序的各个功能,如何使用函数构成模块化程序,以及代码复用的基本思想。

函数说明 与 返回值

函数的一般形式如下:

类型说明符  函数名(参数表)

参数说明段

{

函数体

}

1 函数的类型说明

函数的类型说明符可以是任何数据类型,包括空值型 void,即不使用 return 语句返回任何数据。默认情况下,函数被自动说明为整型。函数必须在第一调用前定义,这样编译器才能找到该函数。前置函数类型说明被称为 函数原型。

#include

#include

#define PI 3.141593

float cylinder_area(float, float);        // 函数的类型说明,函数原型

int main()

{

float r, h, s;        // r圆半径,h高,s面积

puts("请输入圆柱的半径和高:");

if (scanf("%f,%f", &r, &h) == 2)

{

s = cylinder_area(r, h); // 调用函数 cylinder_area(),返回值到变量s

printf("\n该圆柱体的表面积为:%f\n", s);

}

else

{

puts("您输入的数据格式不合法!");

}

return EXIT_SUCCESS;

}

float cylinder_area(float r, float h)

{

float cd_area;

cd_area = 2 * (PI * r * r) (2 * PI * r * h);

return  cd_area;

}

设计函数时需要注意数据类型的匹配关系,函数的类型说明符必须与 return 语句返回的数据类型相同,函数的参数说明必须与参数的数据类型相同,否则会造成编译错误。

2 返回语句

函数的返回语句 return 有 2 个作用:其一,结束当前函数,调用者获得程序控制权;其二,将计算结果传递给调用者。

函数的结束有 2 种情况,一是函数体内所有的代码执行完毕,二是 return 语句被执行。

C语言函数的参数和返回值

函数的参数

函数的参数分为形参和实参。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在函数调用中。

形参和实参的功能是作数据传送,发生函数调用时,实参的值会传送给形参。

形参和实参有以下几个特点:

1) 形参变量只有在函数被调用时才分配内存单元,在调用结束时,立刻释放所分配的内存单元。因此,形参只有在函数内部有效,不能在函数外部使用。

2) 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的数据,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。

3) 实参和形参在数量上、类型上、顺序上必须严格一致,否则会发生“类型不匹配”的错误。

函数调用中发生的数据传送是单向的,只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

【示例】计算 1 2 3 ... (n-1) n 的值。

#include

int sum(int n){

int i;

for(i=n-1; i>=1; i--){

n =i;

}

printf("The inner n = %d\n",n);

return n;

}

int main(){

int n, total;

printf("Input a number: ");

scanf("%d",&n);

total = sum(n);

printf("The outer n = %d \n", n);

printf("1 2 3 ... (n-1) n = %d\n", total);

return 0;

}

运行结果:

Input a number: 100?

The inner n = 5050

The outer n = 100

1 2 3 . .. (n-l) n = 5050

通过 scanf 输入 n 的值,作为实参,在调用 sum 时传送给形参量 n。

注意:本例中形参变量和实参变量的名称都是 n,但这是两个不同的量,各自的作用域不同,下节将会讲解。

在mian函数中用printf 语句输出一次n值,这个n值是实参n的值。在函数sum中也用printf 语句输出了一次n值,这个n值是形参最后取得的n值。

从运行情况看,输入n值为100,即实参n的值为100,把此值传给函数sum时,形参n的初值也为100,在执行函数过程中,形参n的值变为5050。函数运行结束后,输出实参n的值仍为100。可见实参的值不随形参的变化而变化。

函数的返回值

函数的值(或称函数返回值)是指函数被调用之后,执行函数体中的程序段所取得的值,可以通过return语句返回。

return语句的一般形式为:

return 表达式;

或者:

return (表达式);

例如:

return max;

return a b;

return (100 200);

函数中可以有多个 return 语句,但每次调用只能有一个return 语句被执行,所以只有一个返回值。

一旦遇到 return 语句,不管后面有没有代码,函数立即运行结束,将值返回。例如:

int func(){

int a=100, b=200, c;

return a b;

return a*b;

return b/a;

}

返回值始终 a b 的值,也就是300。

没有返回值的函数为空类型,用void进行说明。例如:

void func(){

printf("Hello world!\n");

}

一旦函数的类型被定义为 void,就不能再接受它的值了。例如,下面的语句是错误的:

int a = func();

为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为空类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值