指针学习笔记-2

文章目录

函数指针数组

#include <stdio.h>
#include <stdlib.h>

int add(int a, int b){
    return a + b;
}

int sub(int a, int b){
    return a - b;
}

int main (int argc, char **argv) {
    int (*operate_func[])(int, int) ={add, sub};
    int myresult = 0;
    int oper = atoi(*++argv);
    printf("%d\n", oper);
    int mynum;
    while (*++argv != NULL) {
        mynum = atoi(*argv);
        printf("%d ", mynum);
        myresult = operate_func[oper](myresult, mynum);
    }
    printf("\n%d\n", myresult);
    return 0;
}

// ./test 0 1 13 52
// 0 ->参数含义是调用add函数,实际上是按照下标进行访问,
//  如果是 1 就调用sub函数。
// 1 13 52 -> 依次读取数据进行累加。
// 66 -> 最终累加和。

发布了425 篇原创文章 · 获赞 59 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qq_21950671/article/details/103992703
今日推荐