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

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

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

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答