|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
每次运行会报错,各位鱼油们帮忙看一看哈。
- #include<stdio.h>
- void main(){
- int max(int,int);
- int min(int,int);
- int add(int,int);
-
- process (int ,int,int(*fun)());
- int a,b;
- printf("输入两个数字:\n");
- scanf("%d %d",&a,&b);
-
- printf("max = ");
- process(a,b,max);
-
- printf("min = ");
- process(a,b,min);
-
- printf("sum = ");
- process(a,b,add);
- }
- int max(int x,int y){
- int z;
- if( x>y){
- z = x;
- }else{
- z = y;
- }
- return z;
- }
- int min(int x,int y){
- int z;
- if( x<y){
- z = x;
- }else{
- z = y;
- }
- return z;
- }
- int add(int x,int y){
- int z;
- z = x+y;
- return z;
- }
复制代码
本帖最后由 sunrise085 于 2019-12-23 17:17 编辑
因为你的程序中process函数没有声明也没有定义。
- #include<stdio.h>
- void main(){
- int max(int,int);
- int min(int,int);
- int add(int,int);
- void process (int ,int,int(*p)(int,int));//函数声明,这里略有修改,将函数返回值设为void
- int a,b;
- printf("输入两个数字:\n");
- scanf("%d %d",&a,&b);
-
- printf("max = ");
- process(a,b,max);
-
- printf("min = ");
- process(a,b,min);
-
- printf("sum = ");
- process(a,b,add);
- }
- void process(int x,int y,int(*p)(int,int)){ //函数定义
- printf("%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;
- }
- int add(int x,int y){
- return x+y;
- }
复制代码
|
|