函数指针示例

目录:

代码:

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
相关推荐
Logic1018 小时前
C语言/数据结构位运算题解:异或XOR找出数据表中的“独特编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic10110 小时前
C语言/数据结构位运算题解:异或XOR找出英雄升级系统中的“独特经验值“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1011 天前
C语言/数据结构贪心算法题解:买卖股票的最佳时机——一次交易最大利润(O(n)时间O(1)空间)
c语言·数据结构·贪心算法·数组·时间复杂度·算法题·股票交易
Logic1011 天前
C语言/数据结构位运算题解:异或XOR找出货币交易中的“独特面值“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1012 天前
C语言/数据结构位运算题解:异或XOR找出独特数字的索引位置——成对数字在两侧
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1013 天前
C语言/数据结构数组题解:数字列表加一(Plus One)——进位处理与数组扩展
c语言·数据结构·模拟·数组·时间复杂度·算法题·进位
Logic1013 天前
C语言/数据结构位运算题解:异或XOR找出流水线上的“独特零件编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1013 天前
C语言/数据结构位运算题解:异或XOR找出独特卡片数字——只出现一次的元素
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1014 天前
C语言/数据结构位运算题解:异或XOR找出货船中的“独特载货量“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1015 天前
C语言/数据结构位运算题解:异或XOR找出蛋糕订单中的“VIP独特口味“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质