例如:可以寫為:
void nzp(int a[])
或?qū)憺?BR> void nzp(int a[],int n)
其中形參數(shù)組a沒有給出長(zhǎng)度,而由n值動(dòng)態(tài)地表示數(shù)組的長(zhǎng)度。n的值由主調(diào)函數(shù)的實(shí)參進(jì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函數(shù)形參數(shù)組a沒有給出長(zhǎng)度,由n 動(dòng)態(tài)確定該長(zhǎng)度。在main函數(shù)中,函數(shù)調(diào)用語(yǔ)句為nzp(b,5),其中實(shí)參5將賦予形參n作為形參數(shù)組的長(zhǎng)度。
d. 多維數(shù)組也可以作為函數(shù)的參數(shù)。 在函數(shù)定義時(shí)對(duì)形參數(shù)組可以指定每一維的長(zhǎng)度,也可省去第一維的長(zhǎng)度。因此,以下寫法都是合法的。
int MA(int a[3][10])
或
int MA(int a[][10])
void nzp(int a[])
或?qū)憺?BR> void nzp(int a[],int n)
其中形參數(shù)組a沒有給出長(zhǎng)度,而由n值動(dòng)態(tài)地表示數(shù)組的長(zhǎng)度。n的值由主調(diào)函數(shù)的實(shí)參進(jì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函數(shù)形參數(shù)組a沒有給出長(zhǎng)度,由n 動(dòng)態(tài)確定該長(zhǎng)度。在main函數(shù)中,函數(shù)調(diào)用語(yǔ)句為nzp(b,5),其中實(shí)參5將賦予形參n作為形參數(shù)組的長(zhǎng)度。
d. 多維數(shù)組也可以作為函數(shù)的參數(shù)。 在函數(shù)定義時(shí)對(duì)形參數(shù)組可以指定每一維的長(zhǎng)度,也可省去第一維的長(zhǎng)度。因此,以下寫法都是合法的。
int MA(int a[3][10])
或
int MA(int a[][10])