#include "stdio.h" #include "math.h" main() { int a,b; float result1,result2; vo
答案:3 悬赏:60 手机版
解决时间 2021-04-04 11:22
- 提问者网友:相思似海深
- 2021-04-04 05:58
#include "stdio.h" #include "math.h" main() { int a,b; float result1,result2; void (*p1)(); void fu
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-04-04 06:29
2个错误,首先 函数fun里面的第3个参数是float* r,你传的是指针,所以你在将fun函数的指针传给p1后 它的函数里面第3个参数 result 也应该传地址 不然会提示错误 float 转换为 float* 类型错误;
其次,你在函数声明的时候 声明的是(*p1)() 在后面没有写函数体的情况下,里面带参数也是无法编译通过的;
我改成这样通过了,还有友情提示,最好注意下你的编程风格,不然以后你编个大点的程序找错,你就找爽了
#include "stdio.h"
#include "math.h"
main()
{
int a,b;
float result1,result2;
void (*p1)(int a,int b,float *r);
void func1(int a,int b,float *r);
void func2(int a,int b,float *r);
scanf("%d%d",&a,&b);
p1 = func1;
(*p1)(a,b,&result1);
p1 = func2;
(*p1)(a,b,&result2);
printf("the result:%d,%d\n",result1,result2);
return (1);
}
void func1(int a,int b,float *r)
{
*r = pow(a*a+b*b,0.5);
}
void func2(int a,int b,float *r)
{
*r = pow(2.718,a+b);
}
其次,你在函数声明的时候 声明的是(*p1)() 在后面没有写函数体的情况下,里面带参数也是无法编译通过的;
我改成这样通过了,还有友情提示,最好注意下你的编程风格,不然以后你编个大点的程序找错,你就找爽了
#include "stdio.h"
#include "math.h"
main()
{
int a,b;
float result1,result2;
void (*p1)(int a,int b,float *r);
void func1(int a,int b,float *r);
void func2(int a,int b,float *r);
scanf("%d%d",&a,&b);
p1 = func1;
(*p1)(a,b,&result1);
p1 = func2;
(*p1)(a,b,&result2);
printf("the result:%d,%d\n",result1,result2);
return (1);
}
void func1(int a,int b,float *r)
{
*r = pow(a*a+b*b,0.5);
}
void func2(int a,int b,float *r)
{
*r = pow(2.718,a+b);
}
全部回答
- 1楼网友:十年萤火照君眠
- 2021-04-04 09:17
void main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d",&a,&b);
scanf("%f%f",&x,&y);
scanf("%c%c",&c1,&c2);
printf("%d,%d\n%f,%f\n%c,%c\n",a,b,x,y,c1,c2);
}
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d",&a,&b);
scanf("%f%f",&x,&y);
scanf("%c%c",&c1,&c2);
printf("%d,%d\n%f,%f\n%c,%c\n",a,b,x,y,c1,c2);
}
- 2楼网友:独行浪子会拥风
- 2021-04-04 07:55
float result1,result2;
float *r
把float型传给 *float当然不行啦追问怎么改,大哥追答p1=func1;(*p1)(a,b,&result1);
p1=func2;(*p1)(a,b,&result2);追问没效果,追答#include "stdio.h"
#include "math.h"
main()
{
int a,b;
float result1,result2;
void (*p1)();
void func1();
void func2();
scanf("%d%d",&a,&b);
p1=func1;(*p1)(a,b,&result1);
p1=func2;(*p1)(a,b,&result2);
printf("the result:%d,%d\n",result1,result2);
return (1);
}
void func1(int a,int b,float *r)
{*r=pow(a*a+b*b,0.5);}
void func2(int a,int b,float *r)
{*r=pow(2.718,a+b);}
别说还不行,我可是调试过了追问不懂,就是编译不了
float *r
把float型传给 *float当然不行啦追问怎么改,大哥追答p1=func1;(*p1)(a,b,&result1);
p1=func2;(*p1)(a,b,&result2);追问没效果,追答#include "stdio.h"
#include "math.h"
main()
{
int a,b;
float result1,result2;
void (*p1)();
void func1();
void func2();
scanf("%d%d",&a,&b);
p1=func1;(*p1)(a,b,&result1);
p1=func2;(*p1)(a,b,&result2);
printf("the result:%d,%d\n",result1,result2);
return (1);
}
void func1(int a,int b,float *r)
{*r=pow(a*a+b*b,0.5);}
void func2(int a,int b,float *r)
{*r=pow(2.718,a+b);}
别说还不行,我可是调试过了追问不懂,就是编译不了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯