您的位置:首页 > 编程语言 > C语言/C++

C语言基础函数(二)

2011-10-13 09:13 309 查看
2 函数的调用

2.1 函数的简单调用 

Turbo C2.0调用函数时直接使用函数名和实参的方法,也就是将要赋给被调用函数的参量,按该函数说明的参数形式传递过去,然后进入子函数运行,运行结束后再按 子函数规定的数据类型返回一个值给调用函数。使用Turbo C2.0的库函数就是函数简单调用的方法。举例说明如下:

例1: 

#include<stdio.h> 

int maxmum(int x, int y, int z); /*说明一个用户自定义函数*/ 

int main() 



int i, j, k; 

printf("i, j, k=?\n"); 

scanf("%4d%4d%4d", &i, &j, &k); 

maxmum(i, j, k); 

getch(); 

return 0; 

}

maxmum(int x, int y, int z) 



int max; 

max=x>y?x:y; 

max=max>z?max:z; 

printf("The maxmum value of the 3 data is %d\n", max); 

}

2.2 函数参数传递

一、调用函数向被调用函数以形式参数传递 

用户编写的函数一般在对其说明和定义时就规定了形式参数类型,因此调用这些函数时参量必须与子函数中形式参数的数据类型、顺序和数量完全相同,否则在调用中将会出错,得到意想不到的结果。

注意: 

当 数组作为形式参数向被调用函数传递时,只传递数组的地址,而不是将整个数组元素都复制到函数中去,即用数组名作为实参调用子函数,调用时指向该数组第一个 元素的指针就被传递给子函数。因为在Turbo C2.0中,没有下标的数组名就是一个指向该数组第一个元素的指针。当然数组变量的类型在两个函数中必须相同。

用下述方法传递数组形参。 

例2: 

#include<stdio.h> 

void disp(int *n); 

int main() 



int m[10], i; 

for(i=0; i<10; i++) 

m[i]=i; 

disp(m); /*按指针方式传递数组*/ 

getch(); 

return 0; 



void disp(int *n) 



int j; 

for(j=0; j<10; j++) 

printf("%3d", *(n++)); 

printf("\n"); 



另外,当传递数组的某个元素时,数组元素作为实参,此时按使用其它简单变量的方法使用数组元素。例2按传递数组元素的方法传递时变为: 

#include<stdio.h> 

void disp(int n); 

int main() 



int m[10], i; 

for(i=0; i<10; i++){ 

m[i]=i; 

disp(m[i]); /*逐个传递数组元素*/ 



getch(); 

return 0; 



void disp(int n) 



printf("%3d\t"); 



这时一次只传递了数组的一个元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c