实现一个指向函数的指针,实现这个函数的不同功能。完全不知道错在哪里。
#include<stdio.h>int main()
{
int a,b,z ;
int max(int ,int );
int min(int ,int );
int add(int ,int );
int pro(int x,int y,int (*p)(int z) );
scanf("%d %d",&a,&b);
printf("max =");
pro(a,b,max);
printf("min =");
pro(a,b,min) ;
pro("add =") ;
pro(a,b,add) ;
}
int max(int x,int y)
{
int z ;
if( x > y )
{
z = x ;
printf("%d",z);
}
else
{
z = y ;
printf("%d",z);
}
return z;
}
int min(int x,int y)
{
int z ;
if ( x < y)
{
z = x ;
printf("%d",z);
}
else
{
z = y ;
printf("%d",z);
}
int add(int x,int y)
{
int z ;
z = a + b ;
printf("%d", z ) ;
}
这是小甲鱼 B站
c语言视频07指针那一章节结尾的题目,我可爱的鱼鱼竟然在08章节没有讲直接略过了。我自己做也不对! 可是pro函数本体呢? 无符号整形 发表于 2018-8-7 09:13
可是pro函数本体呢?
额,因为刚刚学到这个指向函数的指针。不知道本体怎么写! 莫比乌斯环 发表于 2018-8-7 09:14
额,因为刚刚学到这个指向函数的指针。不知道本体怎么写!
就是调用第三个参数就行了,另外你这个函数指针貌似有点问题啊(容不下2个参数??)
int pro(int x,int y,int (*p)(int a,int b) )
{
reutrn p(x,y);
} 莫比乌斯环 发表于 2018-8-7 09:14
额,因为刚刚学到这个指向函数的指针。不知道本体怎么写!
{:5_96:} 无符号整形 发表于 2018-8-7 09:16
就是调用第三个参数就行了,另外你这个函数指针貌似有点问题啊(容不下2个参数??)
#include<stdio.h>
int main()
{
int a,b;
int max(int ,int );
int min(int ,int );
int add(int ,int );
int pro(int x,int y,int (*p)(int a,int b) );
scanf("%d %d",&a,&b);
printf("max =");
pro(a,b,max);
printf("min =");
pro(a,b,min) ;
printf("add =") ;
pro(a,b,add) ;
}
int max(int x,int y)
{
int z ;
if( x > y )
{
z = x ;
printf("%d",z);
}
else
{
z = y ;
printf("%d",z);
}
return z ;
}
int min(int x,int y)
{
int z ;
if ( x < y)
{
z = x ;
printf("%d",z);
}
else
{
z = y ;
printf("%d",z);
}
return 0 ;
int add(int x,int y)
{
int z ;
z = a + b ;
printf("%d",z) ;
return 0
}
int pro(int x,int y,int (*p)(int a,int b) )
{
return p(x,y) ;
}
修改后。帅帅的版主,能不能帮我重构一下。因为学的迷迷糊糊的~ 莫比乌斯环 发表于 2018-8-7 09:25
#include
int main()
{
你这个写得挺好啊,函数指针就是一个指向函数的指针,只要它指向了一个函数,就可以调用那个指针。 无符号整形 发表于 2018-8-7 09:28
你这个写得挺好啊,函数指针就是一个指向函数的指针,只要它指向了一个函数,就可以调用那个指针。
可是就是编译不过。大佬帮忙看看! 莫比乌斯环 发表于 2018-8-7 09:32
可是就是编译不过。大佬帮忙看看!
万分感谢,小白求带路
页:
[1]