c++中关于数组作为函数参数的几种方法
1个回答
展开全部
对于数组名作为参数传递,有两种方式:
1. 使用数组名本身,如以下程序求数组a的最大值
#include <stdio.h>
int max(int x[],int n) //作为数组定义形式
{
int i,m=x[0];
for(i=1;i<n;i++)
if(m<x[i]) m=x[i];
return m;
}
int main(void)
{
int a[5]={10,32,45,12,26};
int m;
m=max(a,5); //数组名用为实参
printf("a的最大值:%d\n",m);
return 0;
}
2.用指针作为参数,这就简单了,如:
int max(int *x,int n) //作为数组定义形式
{
int i,m=x[0];
for(i=1;i<n;i++)
if(m<x[i]) m=x[i];
return m;
}
int main(void)
{
int a[5]={10,32,45,12,26};
int m;
m=max(a,5); //数组名用为实参
printf("a的最大值:%d\n",m);
return 0;
}
两者结果一样
1. 使用数组名本身,如以下程序求数组a的最大值
#include <stdio.h>
int max(int x[],int n) //作为数组定义形式
{
int i,m=x[0];
for(i=1;i<n;i++)
if(m<x[i]) m=x[i];
return m;
}
int main(void)
{
int a[5]={10,32,45,12,26};
int m;
m=max(a,5); //数组名用为实参
printf("a的最大值:%d\n",m);
return 0;
}
2.用指针作为参数,这就简单了,如:
int max(int *x,int n) //作为数组定义形式
{
int i,m=x[0];
for(i=1;i<n;i++)
if(m<x[i]) m=x[i];
return m;
}
int main(void)
{
int a[5]={10,32,45,12,26};
int m;
m=max(a,5); //数组名用为实参
printf("a的最大值:%d\n",m);
return 0;
}
两者结果一样
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询