有如下一段程序:
int f1(float); int f2(char); void f3(float); int (*pf)(float);
int (*p)(float)=&f1;
pf=&f2;
pf=&f3;
pf=f3;
返回值类型 ( * 指针变量名) ([形参列表]); 根据定义,
int(*pf)(float); int (*p)(float)=&f1; pf,p都是函数指针变量。
C错误是因为函数形参类型不匹配。
函数指针所指向的函数,返回值类型,形参列表必须完全匹配,对函数指针赋值可以采用以下方式pf=&p1或者pf=p1
int (*pf)(float )表示定义了一个返回值为int,参数为float型的函数指针,要想调用他就必须满足返回值和参数类型匹配。至于&f1;==&f1.
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题