二级C语言考试辅导教程第五章:函数[5]

文章作者 100test 发表时间 2007:04:06 21:21:40
来源 100Test.Com百考试题网


例如:可以写为:
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])

相关文章


二级C语言考试辅导教程第五章:函数[6]
二级C语言考试辅导教程第五章:函数[5]
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛