若有以下说明和定义: int fun(int*c){…} main() { int(*a)(int*)=fun,*b(),x[10],c; … } 则对函数fun的正确调用语句是( )

admin2022-10-25  19

问题 若有以下说明和定义:
   int fun(int*c){…}
   main()
   {
     int(*a)(int*)=fun,*b(),x[10],c;
     …
   }
     则对函数fun的正确调用语句是(          )。

选项 A、(*a)(&c);
B、a=a(x);
C、b=*b(x);
D、fun(b);

答案 A

解析 题干中,函数fun接收一个整型指针参数,返回值为int类型。main函数首先定义一个函数指针a.将函数fun的地址赋给a,所以a是指向函数fun的指针,可以通过a调用函数fun。选项A中,通过a调用函数fun,可以使用(*a),接收的参数是整型变量c的地址,正确;选项B中,参数x是一个数组,错误;选项C中,调用b函数,由于程序没有给出函数b的定义,因此这里调用b是错误的,而且函数b是没有参数的,这里调用b的时候传入了参数,所以选项C错误;选项D中,由于b是一个函数,不能作为整型指针变量传给fun函数,因此选项D错误。本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/sCkp777K
0

最新回复(0)