函数指针示例

目录:

代码:

main.c

c 复制代码
#include <stdio.h>
#include <stdlib.h>

int Max(int x, int y);
int Min(int x, int y);

int main(int argc, char**argv)
{
    int x,y;
    scanf("%d",&x);
    scanf("%d",&y);

    int select;
    printf("输入1表示求最小值,2表示最大值\n");
    scanf("%d",&select);
    //定义函数指针
    int (*p)(int, int);
    if(select == 1)
    {
        //最小值
        p = Min;
    }
    else if(select == 2)
    {
        //最大值
        p =Max;
    }
    else
    {
        return -1;
    }
    //查找
    printf("value is %d\n", p(x, y));
}

int Max(int x, int y)
{
    return x > y?x:y;
}
int Min(int x, int y)
{
    return x < y?x:y;
}

Makefile

c 复制代码
main:main.c
	gcc -o $@ $^
	./$@
clean:
	rm main
相关推荐
podongfeng3 天前
leetcode每日一题:数组美丽值求和
java·算法·leetcode·数组·前后缀
FAREWELL000757 天前
C#基础学习(六)函数的变长参数和参数默认值
学习·c#·数组
琳沫lerlee8 天前
【数组去重、分组和拷贝】
javascript·数组
我不是代码教父15 天前
[原创](Modern C++)现代C++的关键性概念: array<>比内置数组更安全
c++·数组·array
心态与习惯23 天前
c++ 中的引用 &
c++·指针·数组·引用·ref·容器传递
平谷一勺25 天前
go切片定义和初始化
数据结构·golang·数组·切片
Tisfy1 个月前
LeetCode 1472.设计浏览器历史记录:一个数组完成模拟,单次操作均O(1)
服务器·leetcode·浏览器·memcached·题解·模拟·数组
m0_675988231 个月前
Leetcode350:两个数组的交集 II
算法·leetcode·数组·哈希表·python3
Tisfy2 个月前
LeetCode 1287.有序数组中出现次数超过25%的元素:遍历
算法·leetcode·题解·模拟·数组·遍历
中游鱼2 个月前
C# 数组和列表的基本知识及 LINQ 查询
c#·linq·数组·数据处理·list数列