【C语言】函数

函数

定义格式

返回类型 函数名(参数类型 参数变量){
    函数方法体
}

// 定义函数
int sum_num(int num) {
    int res = 1;
    return res;
}

函数使用

#include <stdio.h>

// 首先声明函数(有些版本C语言,可以不用)
int sum_num(int num);

// 定义函数
int sum_num(int num) {
    int res = 1;
    // 循环阶乘
    for (num; num > 1; num--) {
        res = num * res;
    }

    return res;
}

int main() {
    int num = 10;
    // 使用函数
    int res = sum_num(4);
    printf("%d 的阶乘结果:%d\n", num, res);
    return 0;
}

mark

函数的可变参数

使用可变参数需要引入:#include <stdarg.h>

# 需要 #include <stdarg.h> 头文件里面的这几个东西

- va_list
- va_start
- va_arg
- va_end

定义可变参数之前的 int num,是可变参数的总长度

一般这是实现原理

#include <stdio.h>
#include <stdarg.h>

// 声明函数
int sum_num(int num,...);

// 定义可变参数的函数 
int sum_num(int num,...) {
    /*
    该函数实现可变函数的值相加。
    */
    int i,sum = 0;

    va_list vap; // 定义接收可变参数的列表
    va_start(vap, num); // 开辟接收可变参数的空间 num 是可变参数的个数
    // 利用循环取出 可变参数
    for (i= 0; i < num; i++){
        sum += va_arg(vap, int); // 判断参数逻辑
    }
    // 关闭空间
    va_end(vap);

    return sum;
}


int main() {
    int res = sum_num(5,1,2,3,4,5);
    printf("相加结果:%d\n", res);
}

mark

发表评论 / Comment

用心评论~