一道程序题,麻烦看看我思路错在哪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/06/20 17:03:08
![一道程序题,麻烦看看我思路错在哪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(](/uploads/image/z/3169702-46-2.jpg?t=%E4%B8%80%E9%81%93%E7%A8%8B%E5%BA%8F%E9%A2%98%2C%E9%BA%BB%E7%83%A6%E7%9C%8B%E7%9C%8B%E6%88%91%E6%80%9D%E8%B7%AF%E9%94%99%E5%9C%A8%E5%93%AAfloat+f1%28float+n%29%7B+return+n%2An%3B+%7Dfloat+f2%28float+n%29%7B+return+2%2An%3B+%7Dmain%28%29%7B+float+%28%2Ap1%29%28float%29%2C%28%2Ap2%29%28float%29%2C%28%2At%29%28float%29%2Cy1%2Cy2%3Bp1%3Df1%3B+p2%3Df2%3By1%3Dp2%28+p1%282.0%29+%29%3Bt+%3D+p1%3B+p1%3Dp2%3B+p2+%3D+t%3By2%3Dp2%28+p1%282.0%29+%29%3B+printf%28%22%253.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.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啊