选择题 50.  仔细阅读下面程序,请给出运行结果______。
    #include<stdio.h>
    #include<math.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
【答案解析】 本题考查C语言编程方面的概念和知识。
   程序中,f=f1是将函数指针f指向了函数f1,因此,y1=(*f)(x)是调用了函数f1,结果应该与y2=f1(x)直接调用函数f1相同,因此,y1=y2=9。
   同样f=f2是将函数指针f指向了函数f2,y3=f(x)是调用函数f2,与直接调用函数f2等价,因此,y3=27,y4=27。