下载此文档

函数调用时参数传递方式.ppt


文档分类:通信/电子 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
函数调用时参数传递方式
第1页,本讲稿共12页
main()
{
void Swap(int iA,int iB); /*函数声明*/
int iA,iB; if(Judge(fTeama[i],fTeamb[i])= =-1) iB++;
if(iA>iB) scanf(“%f”,fTeamb[i]); /*比较iA和iB的大小,输出相应的信息 */
else printf(“Team B Win!\n”);
}
int Judge(float fA,float fB) /* Judge函数用于比较体重,实参、与形参类型必须一致 */
{
if(fA>fB) return(1); /*如果fA大于fB,函数返回值是1*/
else if(fA<fB) return(-1); /*否则函数返回值是-1*/
}
第4页,本讲稿共12页
3·2·3 数组名作函数参数
例4_3_6 已知一个班10名学生的计算机考试成绩,求平均成绩。要求:在主函数main中输入10个成绩,并输出最后的平均成绩;求平均成绩的过程用函数完成。
分析:这是本节的例 4_1_1,前面是用一个主函数完成的。10个已知数据我们仍然把它们组织成一个数组iScore[10]。要用函数计算数组10个元素的平均值,就应该由主调函数将这10个数组元素传递给被调函数,我们将数组作为一个整体传递给被调函数。实参表列就写数组名即可,形参表列就写与实参数组同类型的数组。
第5页,本讲稿共12页
/* */
main()
{
float Average(int iScore[10]); /*函数声明*/
int iScore[10],i; float fAver;
for(i=0;i<10;i++) scanf(“%d”,&iScore[i]); /*输入10个成绩*/
fAver=Average(iScore); /* 用数组名iScore作为实参调用函数 */
printf(“average=%f\n”,fAver); /*输出平均成绩*/
}
float Average(int iScore[10]) /* 函数定义,形参数组应与实参数组类型相同 */
{
int i, iSum=0; float fAver;
for(i=0;i<10;i++) iSum=iSum+iScore[i]; /* 用循环累加*/
fAver=iSum/; /* 求出平均成绩*/
return(fAver); /* 将平均成绩返回给主调函数*/
}
第6页,本讲稿共12页
例4_3_7 一个年级有3个班,每个班有20名学生。输入所有学生的计算机考试成绩,求出最高分,以及该学生的所在班级、学号。要求:在主函数中输入成绩,输出最高分,以及该学生的所在班级、学号;在函数中完成求最高分和学生所在班级学号的功能。
分析:这道题就是本章第一节例4_1_8,现要求用函数完成对二维数组的运算,因此实参数组应该是二维数组,形参也应该是同类型的二维数组。
定义二维形参数组:
void Highscore(int iScore[m][n])
第7页,本讲稿共12页
int g_iMax,g_iRow=0,g_iColumn=0;
main()
{
void Highscore(int iScore[ ][20],int n);
int iScore[3][20],I,j;
printf(“Please input score:\n”);

函数调用时参数传递方式 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库新人
  • 文件大小611 KB
  • 时间2022-01-27
最近更新