#include<stdio.h>
void main()
{
int san(int x, int y,int (*p)(int, int)); //san函数功能为:使用指向函数的指针
int max(int, int); //max函数求最大
int min(int, int); //min函数求最小
int sum(int, int); //sum函数求和
int i, j, k; //i,j为输入两个整数;k为输入1,2,3
printf("请输入两个整数:");
scanf("%d%d", &i, &j);
printf("请输入1或者2或者3:");
scanf("%d", &k);
if (k == 1) printf("最大数为:%d", san(i, j, max)); //k为1代表需要求最大
if (k == 2) printf("最小数为:%d", san(i, j, min)); //k为2代表求最小
if (k == 3) printf("和为:%d", san(i, j, sum)); //k为3代表求和
}
int max(int n, int b) //比较大小,输出大
{
if (n < b)
return b;
else
return n;
}
int min(int n, int b) //比较大小,输出小
{
if (n < b)
return n;
else
return b;
}
int sum(int n, int b) //求和,输出和
{
n += b;
return n;
}
int san(int x, int y,int (*p)(int, int)) //使用时,指向函数的指针 指向那个函数就输出那个函数
{
int k;
k = (*p)(x, y);
return k;
}
c语言有两个整数a和b,由用户输入1,2或3。如输入1,程序就给出a和b中大者,输入2,就给出a和b中小者,输入3,则求a与b之和,用指向函数的指针作函数参数。(用指针有点麻烦了)
于 2022-02-08 14:28:24 首次发布