niusouti.com
更多“设函数f的原型是:char *f (const char*);,pf 是指向f 的指针,则pf 的定义是【】。 ”相关问题
  • 第1题:

    设有以下函数:

    void fun(int n,char*$s){……}

    则下面对函数指针的定义和赋值均正确的是

    A.void(*pf)( );pf=fun;

    B.void*Pf( );pf=fun;

    C.void*pf( ); *pf=fun;

    D.void(*pf)(int,char);nf=&fun;


    正确答案:A
    解析:函数指针的定义形式是:数据类型标识符(*指针变量名)( )。void(*pf)( )定义了一个没有返回值的函数指针pf,在给函数指针变量赋值时,只需给出函数名而不必给出参数。所以给pf赋值时,只把函数名fun赋给pf即可。所以正确答案为选项A)。

  • 第2题:

    关于地址和指针,以下叙述正确的是( )。

    A.可以通过强制类型转换让char型指针指向double型变量

    B.函数指针P指向一个同类型的函数f时,必须写成:p=&f;

    C.指针P指向一个数组f时,必须写成:p=ecf;

    D.一个指针变量P可以指向自身


    正确答案:A
    函数指针P指向一个同类型的函数f时,可以写成:p=f,而不能写成材,选项B错误。函数名代表函数的入口地址,指针P指向一个数组f时,可以写成:P=f,也可写成&f,数组名f可以代表数组的首地址,选项c错误。指针变量指向的是地址,是个常量,不能将地址指向另—个地址,选项D错误。char型根据转化原则可以转化为double类型。因此答案为A选项。

  • 第3题:

    设程序中若有如下说明和定义语句 #include <stdio.h> char fun(char *) ; int main() { char *s = "one" , a[5] = { 0},(*f1 )() = fun , ch ; ... } 以下选项中对函数fun的正确调用语句是_______。

    A.(*f1 )(a ) ;

    B.*f1(*s ) ;

    C.fun(&a ) ;

    D.ch = *f1(s ) ;


    uble myadd(double a,double b)

  • 第4题:

    设有以下函数:

    voidfun(intn,char}s){……}

    则下面对函数指针的定义和赋值均正确的是( )。

    A.void(*pf)(int,char);pf=&fun;

    B.void+pf( );pf=fun;

    C.void*pf( );*pf=fun;

    D.void(*pf)(int,char*);pf=fun;


    正确答案:D
    函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。

  • 第5题:

    设有定义语句int(*f)(int);,则下列叙述正确的是( )。

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形态

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是其类型为int类型的地址


    正确答案:B
    B。【解析】定义语句int(*f)(int)中f是指向函数的指针变量,该函数中也只有一个int型的形参。