niusouti.com
更多“设有以下函数:void fun(int n,char*$s){……}则下面对函数指针的定义和赋值均正确的是A.void(*pf)( ”相关问题
  • 第1题:

    有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用的语句是A.fun(int y,double m); B.k=fun(10,12.5); C.fun(x,n); D.void fun(n,x);


    正确答案:C
    选项A中,fun(int y,double m);中变量y和m前不需要类型说明;因为函数fun(10,12.5)没有返回值,所以选项B错误;调用函数fun时,不需要在函数前面加上void,所以选项D错误。故本题的正确答案是选项C。

  • 第2题:

    设有以下函数:

    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选项正确。

  • 第3题:

    3、设存在函数print_data,该函数的指针变量该如何定义? void print_data(int a);

    A.void (*p) (int);

    B.print_data *p;

    C.void print_data *p;

    D.void (*p) (int a);


    B

  • 第4题:

    有下列函数定义: fun(float h) { printf("%f,%f\n",h,h*h);) 该函数的类型是( )。A.int类型SX

    有下列函数定义: fun(float h) { printf("%f,%f\n",h,h*h);) 该函数的类型是( )。

    A.int类型

    B.float类型

    C.void类型

    D.函数无类型说明,定义有错


    正确答案:A
    本题考查函数值的类型,在函数定义时,由于函数没有说明其类型,系统默认一律自动按整型(int)处理。

  • 第5题:

    设有如下函数定义,则输出结果为_______。 char*fun(char*str) { char*p=str; while(*p) {if(*p>'d')continue; p++; } return p; } main() { printf("%s\n",fun("welcome!")); }

    A.welcome

    B.come!

    C.w

    D.程序进入死循环


    正确答案:D
    解析:continue语句的作用是用于结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。由于'w'>'d',执行continue语句,结束本次循环(即跳过p++;语句),还是继续比较'w'>'d',程序进入死循环。