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);
    }
    

  • 相关阅读:
    Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL
    ssm实战(8)-----支付模块开发,订单模块
    ssm实战(7)------收货地址管理
    ssm实战(6)------购物车管理
    ssm实战(4,5)------分类管理,商品管理
    ssm实战(3)------用户模块
    Mybatis(1)——映射文件,缓存,整合
    ssm实战(2)------pom.xml文件 和 mybatis-generator git
    7.1Servlet ---手写Servlet
    为什么有些资源要显示的close关闭
  • 原文地址:https://www.cnblogs.com/del/p/1345452.html
Copyright © 2011-2022 走看看