仔细阅读下面程序,请给出运行结果( )。#includeimage.pngstd

考试题库2022-08-02  44

问题 仔细阅读下面程序,请给出运行结果( )。#includeimage.pngstdio.h>#includeimage.pngmath.h>int f1 (int x) { return x*x; }int f2 (int x) { return x*x*x;}main (){int x=3,y1,y2,y3,y4;int(*f)();f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf(“y1=%d,y2=%d,y3=%d,y4=%d\n”,y1,y2,y3,y4);}A.y1=9,y2=9,y3=27,y4=27B.y1=3,y2=9,y3=27,y4=9C.y1=3,y2=3,y3=9,y4=9D.y1=3 ,y2=9,y3=9,y4=27

选项 A.y1=9,y2=9,y3=27,y4=27
B.y1=3,y2=9,y3=27,y4=9
C.y1=3,y2=3,y3=9,y4=9
D.y1=3 ,y2=9,y3=9,y4=27

答案 A

解析 题中y2和y4是直接函数调用,毫无疑问是9和27,关键在于f=f1是将函数指针f指向了函数f1,因此y1=(*f)(x)本质是调用了函数f1,其结果与直接调用y2=f1(x)相同,y3同理。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2424617.html

最新回复(0)