资源描述:
《第5章 函数(数组作参数、变量的作用域和存储类别)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章函数§数组作为函数参数§局部变量和全局变量数组作为函数参数⒈数组元素作函数实参数组元素作函数实参,与用变量作实参一样,是“单向的值传递”。例有两个数组a、b,各有5个元素,将它们对应地逐个相比(即a[0]与b[0]比,a[1]与b[1]比……)。如果a数组中的元素大于b数组中的相应元素的数目多余b数组中元素大于a数组中相应元素的数目(例如,a[i]>b[i]3次,b[i]>a[i]1次,其中每次为不同的值),则认为a数组大于b数组,并分别统计出两个数组相应元素大于、等于、小于的次数。#includeintlarge(intx,inty);intmain(void){in
2、ta[5]={1,3,5,7,9},b[5]={5,3,8,9,-1},i,n=0,m=0,k=0;for(i=0;i<5;i++){if(large(a[i],b[i])==1){n=n+1;}elseif(large(a[i],b[i])==0){m=m+1;}else{k=k+1;}}printf(“a[i]>b[i]%dtimesa[i]=b[i]%dtimesa[i]k){printf(“arrayaislargerthanarrayb”);}elseif(n3、anarrayb”);}else{printf(“arrayaisequaltoarrayb”);}return0;}intlarge(intx,inty){intflag;if(x>y){flag=1;}elseif(x4、]a[3]a[4]36194未排序时的情况16394第一轮13694第二轮13496第三轮13469第四轮#includevoidsort(intb[],intn);intmain(void){inta[5]={3,6,1,9,4};inti;sort(a,5);printf(“thesortedarray:”);for(i=0;i<5;i++){printf(“%d”,a[i]);}return0;}361943619436194a[0]a[1]a[2]a[3]a[4]b[0]b[1]b[2]b[3]b[4]voidsort(intb[],intn){inti,j,k,
5、t;for(i=0;i<=n-2;i++){k=i;for(j=i+1;j<=n-1;j++){if(b[j]#includevoidinverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str);i6、r[100];scanf(“%s”,str);inverse(str);printf(“%s”,str);return0;}如果输入ananple,该程序的输出结果是()。A)ananple B)elpnana C)an D)na练习2.以下程序的输出结果为()。#includef(intb[],intn){inti,r;r=1;for(i=0;i<=n;i++){r=r*b[i];}return(r);}intmain(void){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf(“%
7、d”,x);return0;}A)720 B)120 C)24 D)6⒊用多维数组作函数参数⑴多维数组元素可以作为实参,其用法跟变量相同。⑵可以用多维数组名作为实参和形参,传递的是数组首地址。在函数中对形参数组定义时,可以指定每一维的大小,也可以省略第一维的大小说明,但不能只指定第一维而省略第二维。例如:intarray[3][4];(正确!)intarray[][]