数组作为函数参数,其用法与变量相同。此外,数组也可以作为实参和形参,传递的是数组首元素的地址。
例如:有两个数组a和b,各有10个元素,将它们对应的逐个的比较(即a[0]与b[0]比,a[1]与b[1]比…)。如果a数组中的元素大于b数组中的相应元素的数目多于b数组中元素大于a数组中元素的数目(例如:a[i]>b[i]6次,b[i]>a[i]3次,其中i为每次不同的值),则认为a数组大于b数组,并分别统计出两个数组相对应元素大于,等于,小于的次数。
程序如下:
#include<stdio.h>
int main()
{
int large(int x,int y);
int a[10],b[10],i,m,n,k;
m=0;n=0;k=0;
printf("输入a:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
printf("输入b:\n");
for(i=0;i<=9;i++)
scanf("%d",&b[i]);
for(i=0;i<=9;i++)
{
if (large(a[i],b[i])==1)
n=n+1;
else if(large(a[i],b[i])==0)
m=m+1;
else
k=k+1;
}
printf("a[i]>b[i] %d times \na[i]=b[i] %d times \na[i]<b[i] %d times \n",n,m,k);
if (n>m &&n>k)
printf("a[i] is larger than b[i]");
else if (m>n &&m>k)
printf("a[i] is as large as b[i]");
else
printf("a[i] is shorter than b[i]");
}
large(int a,int b)
{
int z;
if(a>b)
z=1;
else if(a=b)
z=0;
else
z=-1;
return (z);
}
运行结果如下: