一道程序题,麻烦看看我思路错在哪float f1(float n){ return n*n; }float f2(float n){ return 2*n; }main(){ float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1; p2=f2;y1=p2( p1(2.0) );t = p1; p1=p2; p2 = t;y2=p2( p1(2.0) ); printf("%3.0
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 10:19:36
一道程序题,麻烦看看我思路错在哪float f1(float n){ return n*n; }float f2(float n){ return 2*n; }main(){ float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1; p2=f2;y1=p2( p1(2.0) );t = p1; p1=p2; p2 = t;y2=p2( p1(2.0) ); printf("%3.0
一道程序题,麻烦看看我思路错在哪
float f1(float n)
{ return n*n; }
float f2(float n)
{ return 2*n; }
main()
{
float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;
p1=f1;
p2=f2;
y1=p2( p1(2.0) );
t = p1; p1=p2; p2 = t;
y2=p2( p1(2.0) );
printf("%3.0f,%3.0f\n",y1,y2);
}
程序运行后的输出结果是A
A)8,16 B)8,8 C)16,16 D)4,8
y1我知道等于8,但y2根据程序y2=p2( p1(2.0) )等价于y2=f1(f2(2.0)),那不是先算float f2(float n),return 4,再算float f1(float n),return 8...为什么会是16呢
一道程序题,麻烦看看我思路错在哪float f1(float n){ return n*n; }float f2(float n){ return 2*n; }main(){ float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1; p2=f2;y1=p2( p1(2.0) );t = p1; p1=p2; p2 = t;y2=p2( p1(2.0) ); printf("%3.0
float f1(float n),return 8 你是怎么算的,参数是4,调用f1是 4 * 4,等于16啊