用C语言指针如何求最大值最小值

用C语言指针如何求最大值最小值

问题描述:用C语言指针如何求最大值最小值

以下使一个简单的例子,用来说明指向函数的指针变量。定义两个函数max和min,分别用来求最大值和最小值。在主函数中根据用户输入的数字是1或者是2,使指针变量指向max函数或者min函数。

codes:#include <stdio.h>int main(){
    int max(int,int);//求最大值函数声明 
    int min(int,int);//求最小值函数声明 
    int (*p)(int,int);//定义指向函数的指针变量 
    
    int a,b,c,n;
    printf("please input two numbers:");//输入两个数 
    scanf("%d%d",&a,&b);
    printf("please choose 1 or 2:");//输入1 or 2 
    scanf("%d",&n);
    if(n == 1){ //如果输入1则使 p 指向max函数 
        p = max;
    }
    else if(n == 2){    //如果输入2,使p指向min函数 
        p = min;
    }
    
    c = (*p)(a,b);
    printf("a = %d, b = %d\n",a,b);
    
    if(n == 1){
        printf("max = %d\n",c);
    }
    else{
        printf("min = %d\n",c);
    }
    return 0;}int max(int x, int y)   //求最大值函数 {
    return x > y ? x : y;} int min(int x, int y)   //求最小值函数 {
    return x < y ? x : y;}

推荐教程: 《c语言教程》

以上就是用C语言指针如何求最大值最小值的详细内容,更多请关注其它相关文章!