zoukankan      html  css  js  c++  java
  • 学点 C 语言(31): 函数 声明、定义、调用


    1. 如果函数没有声明, 应该在调用前定义:
    #include <stdio.h>
    
    /* 定义求大值函数 */
    int MAX(int x, int y) {
        if (x > y)
            return x;
        else
            return y;
    } 
    
    /* 定义求小值函数 */
    int MIN(int x, int y) {
        return x < y ? x : y;
    } 
    
    int main(void)
    {
        int a = 5;
        int b = 6;
    
        /* 调用函数 */
        printf("%d\n", MAX(a,b));
        printf("%d\n", MIN(a,b));   
            
        getchar();
        return 0;
    }
    

    2. 可以在函数头声明:
    #include <stdio.h>
    
    int main(void)
    {
        int a = 5;
        int b = 6;
    
        /* 在函数头声明要使用的函数 */
        int MAX(int x, int y);
        int MIN(int x, int y);
        
        /* 调用函数 */
        printf("%d\n", MAX(a,b));
        printf("%d\n", MIN(a,b));   
            
        getchar();
        return 0;
    }
    
    /* 定义求大值函数 */
    int MAX(int x, int y) {
        if (x > y)
            return x;
        else
            return y;
    } 
    
    /* 定义求小值函数 */
    int MIN(int x, int y) {
        return x < y ? x : y;
    } 
    

    3. 但一般应在文件头声明:

    函数原型的声明在实际运用中, 会集中声明在头文件(*.h)里面.
    #include <stdio.h>
    
    /* 在文件头声明要使用的函数 */
    int MAX(int x, int y);
    int MIN(int x, int y);
        
    int main(void)
    {
        int a = 5;
        int b = 6;
    
        /* 调用函数 */
        printf("%d\n", MAX(a,b));
        printf("%d\n", MIN(a,b));   
            
        getchar();
        return 0;
    }
    
    /* 定义求大值函数 */
    int MAX(int x, int y) {
        if (x > y)
            return x;
        else
            return y;
    } 
    
    /* 定义求小值函数 */
    int MIN(int x, int y) {
        return x < y ? x : y;
    } 
    

    4. 函数可互调用, 但不能嵌套:
    #include <stdio.h>
    
    void PrintSum(int x, int y);
    int sum(int x, int y);
        
    int main(void)
    {
        PrintSum(1,2);  
        PrintSum(111,222); 
        
        getchar();
        return 0;
    }
    
    void PrintSum(int x, int y) {
        printf("%d + %d = %d;", x, y, sum(x,y));
        putchar('\n');
    }
    
    int sum(int x, int y) {
        return x + y;
    } 
    

    5. 关于无参数、无返回值的函数:

    如果函数没有参数, 最好是 fun(void), 不过 fun() 也行;
    如果函数没有返回值, 要注明返回类型是 void;
    在 C 语言中调用无参函数也要带括号.
    #include <stdio.h>
    
    void prn(void);
    
    int main(void)
    {
        prn();  /* 调用无参函数 */
        
        getchar();
        return 0;
    }
    
    void prn(void) {
        printf("ok\n");
    }
    

    6. 声明函数时可以省略形参:
    #include <stdio.h>
    
    int sum(int, int, int); /* 省略形式参数 */
    
    int main(void)
    {
        printf("%d\n", sum(1,2,3));
        
        getchar();
        return 0;
    }
    
    int sum(int x, int y, int z)
    {
        return(x + y + z);
    }
    

    7. 函数的参数一般不要超过 7 个:

    但 C99 可以支持到 127 个参数.
    #include <stdio.h>
    
    int sum(int, int, int, int, int, int, int);
    
    int main(void)
    {
        printf("%d\n", sum(1,2,3,4,5,6,7));
        
        getchar();
        return 0;
    }
    
    int sum(int a, int b, int c, int d, int e, int f, int g)
    {
        return(a + b + c + d + e + f + g);
    }
    

  • 相关阅读:
    (转)使用BigDecimal进行精确运算
    date——sql查询
    (转)每天一个linux命令(8):cp 命令,复制文件和文件夹
    (转)每天一个linux命令(15):tail 命令
    (转)Linux 下 查看以及修改文件权限
    (转)用JUnit4进行单元测试
    (转)Spring Boot Junit单元测试
    (转)ZXing解析二维码
    (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
    (转)js jquery.qrcode生成二维码 带logo 支持中文
  • 原文地址:https://www.cnblogs.com/del/p/1345452.html
Copyright © 2011-2022 走看看