程序中若有如下说明和定义语句: char fun(char *); main() {char * s="one", a[5]={0},(* f1)()=fun,ch; ┆ } 以下选项中对函数fun的正确调用语句是

admin2009-01-15  34

问题 程序中若有如下说明和定义语句:    char fun(char *);    main()    {char * s="one", a[5]={0},(* f1)()=fun,ch;        ┆    }   以下选项中对函数fun的正确调用语句是(    )。

选项 A、(* f1)(a);
B、* f1(* s);
C、fun(&a);
D、ch=* f1(s)

答案1

解析 程序中定义的n是一个指向函数fun的指针变量,即将函数fun的人口地址赋给指针变量f1,这时f1和fun都指向函数的开头,调用*f1就是调用函数fun。注意,此时用函数指针变量调用函数时,只需用(*f1)代替函数名fun即可,再在(*f1)后的括号中根据需要写上实参,所以(%f1)(a);相当于fun(a);故选项A)是正确的。
转载请注明原文地址:https://jikaoti.com/ti/LgK0FFFM
0

最新回复(0)