二級(jí)C語(yǔ)言考試輔導(dǎo)教程第五章:函數(shù)[5]

字號(hào):

例如:可以寫為:
     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])