就是说“数组作为函数的形参”实际上是一个指针类型的形参,即将来可以接受一个数组名表示的数组的起始地址!而并不是将一个数组的所有元素传给一个函数,仅仅传递的是一个小小的指针变量。
比如,我们可定义下面的函数,第一个参数表示可以接受一个传入的数组
double getAverage(int arr[], int size)
{
int i;
double avg;
double sum = 0;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
avg = sum / size;
return avg;
}
#include
double getAverage(int arr[], int size);
int main () {
int balance[5] = {1000, 2, 3, 17, 50};
double avg;
avg = getAverage( balance, 5 ) ;
printf( "Average value is: %f ", avg );
return 0;
}
举个栗子:
#include
#include
#include
int os(int a[],int n)
{
int ans=0,i;
for(i=0;i
if(a[i]%2==0)//偶数
ans++;
}
return ans;
}
int js(int a[],int n)
{
int ans=0,i;
for(i=0;i
if(a[i]%2!=0)//奇数
ans++;
}
return ans;
}
int main()
{
int n;
scanf("%d",&n);
int a[n];
int i;
for(i=0;i
scanf("%d",&a[i]);
}
int s;
int j;
s=os(a,n);//注意 s=os(a[n],n)是错误的。
j=js(a,n);
printf("偶数个数%dn",s);
printf("奇数个数%d",j);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)