【函数的组成】
【源程序】
1 #include // 编译预处理命令
2 int main( ) // 主函数首部
3 { // 函数体开始的标志
4 int max(int x,int y); // 对被调用函数max的声明
5 int a,b,c; // 定义变量a,b,c
6 scanf("%d,%d",&a,&b); // 输入变量a和b的值
7 c = max(a,b); // 调用max函数,将得到的函数值赋给c
8 printf("max=%d\n",c); // 输出最大值
9 return 0; // 返回函数值0到系统,函数执行完毕
10 } // 函数体结束的标志
11
12 int max(int x,int y) //max函数首部
13 { //max函数体开始的标志
14 int z; // max函数中的声明部分
15 if (x > y) // max函数中的执行部分
16 z = x;
17 else
18 z = y;
19 return(z); // 将函数值z返回到主函数调用之处
20 } // 函数体结束的标志
【实验提示】
(1)该程序由主函数main和子函数max组成,其功能是从键盘上输入两个数,求出这两个数中的最大值并输出。
(2)程序执行过程
(3)scanf是标准的输入函数, scanf函数中双引号内的格式控制串“%d,%d”,表示输入地址表列“&a,&b”对应的输入格式。编译链接成功后,运行窗口出现黑屏状态,此时应在光标闪烁处从键盘任意键入两个整型数,例如在键盘上输入:4,9,系统则将4赋值给a,将9赋值给b。注意:因格式控制串两个%d之间有一个英文逗号,因此输入两个整型数据时一定要用英文逗号分隔。
(4)第7行,c=max(a,b);调用子函数,括号中的a与b是实际参数,相当 于数学函数自变量的值,其值由scanf函数输入得到。
(5)第12行,max函数首部,x与y是形式参数,相当于数学函数的自变量。
(6)第14行,max函数体内定义的变量z相当于数学函数的因变量。
(7)第15-18行,利用“打擂台”算法求x,y的最大值,将x与y中的最大值存放在变量z中。
(8)第19行,将函数值z返回到主函数第7行调用之处赋值给变量c。