C语言初学者入门知识之函数02 5
例如:可以写为:
void nzp(int a[])
或写为
void nzp(int a[],int n)
其中形参数组a没有给出长度,而由n值动态地表示数组的长度。n的值由主调函数的实参进行传送。
由此,例5.6又可改为例5.7的形式。
[例5.7]
void nzp(int a[],int n)
{
int i;
printf("nvalues of array a are:n");
for(i=0;i
{
if(a[i]< 0) a[i]=0;
printf("%d ",a[i]);
}
}
main()
{
int b[5],i;
printf("ninput 5 numbers:n");
for(i=0;i< 5;i++)
scanf("%d",&b[i]);
printf("initial values of array b are:n");
for(i=0;i< 5;i++)
printf("%d ",b[i]);
nzp(b,5);
printf("nlast values of array b are:n");
for(i=0;i< 5;i++)
printf("%d ",b[i]);
}
void nzp(int a[],int n)
{ ……
}
main()
{
……
nzp(b,5);
……
}
本程序nzp函数形参数组a没有给出长度,由n 动态确定该长度。在main函数中,函数调用语句为nzp(b,5),其中实参5将赋予形参n作为形参数组的长度。
d. 多维数组也可以作为函数的参数。 在函数定义时对形参数组可以指定每一维的长度,也可省去第一维的长度。因此,以下写法都是合法的。
int MA(int a[3][10])
或
int MA(int a[][10])
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>