思维简图巧学C语言(函数)

作者: xacker | 来源:发表于2017-02-10 18:53 被阅读155次

    通过前面指针的讲解,有同学问我拉,函数部分有些不理解,没问题,我们来对函数部分来点讲解,不过有同学理解上有些困难,不过学长建议要坚持学下去,后续讲解学长精心配图,利用思维导图的方式来帮助理解。

    函数的概述

    框架.png

    数组与函数

    数组与函数.png

    数组名作函数参数

    #include <stdio.h>
    float aver(float a[5])
    {
        int i;
        float average, sum=a[0];
        for(i=1; i<5; i++) //循环求和
            sum += a[i];
        average = sum/5;//平均数
        return average;//返回值
    }
    
    int main()
    {
        float scores[5], average;
        int i;
        printf("Input 5 scores:\n");
        for(i=0; i<5; i++)
            scanf("%f", &scores[i]);
        average = aver(scores);
        printf("Average score is %5.2f", average);
        return 0;
    }
    

    实参与形参宽度不一致的函数调用

    void nzp(int a[7])
    {
      int i;
      for(i=0;i<7;i++)
      {
        if(a[i]<0)a[i]=0;
        printf("%d",a[i]);
      }
    }
    main()
    {
      int b[5],i;
      for(i=0;i<5;i++)
        scanf("%d",&b[i]);
      for(i=0;i<5;i++)
        printf("%d",b[i]);
      nzp(b);
      for(i=0;i<5;i++)
        printf("%d",b[i]);
    }
    

    形参数组a和实参数组b的长度不一致,编译能够通过,但数组a的元素a[5],a[6],a[7]无意义

    总结

    1. 形参数组和实参数组的类型必须一致,否则将引起错误。
    2. 形参数组和实参数组的长度可以不相同,因为在调用时,只传送首地址而不检查形参数组的长度。
    3. 在函数形参表中,允许不给出形参数组的长度,

    相关文章

      网友评论

        本文标题:思维简图巧学C语言(函数)

        本文链接:https://www.haomeiwen.com/subject/owtwittx.html