参考答案和解析
正确答案:A
本题考查简单的递归函数,当c>X则会产生递归,依次类推,答案选择A.
更多“有以下程序: #include<stdio.b> void fun(char c) { if(c>X)fun(c-1): printf("%C" ”相关问题
  • 第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题:

    有以下程序:include<stdio.b>void fun(char c){ if(c>X)fun(c-1): printf("%C&q

    有以下程序:

    include<stdio.b>

    void fun(char c)

    { if(c>X)fun(c-1):

    printf("%C",c);

    }

    traia( )

    { fun(z);}

    程序运行后的输出结果是( )

    A.xyz

    B.wxyz

    C.xzy

    D.zvx


    正确答案:A

    本题考查简单的递归函数,当c>X则会产生递归,依次类推,答案选择A.

  • 第3题:

    18、以下程序的运行结果是: #include <stdio.h> char *fun(char *px,char *py); void main() { printf("%s%s\n",fun("abc","abcd"),fun("1234","123")); } char *fun(char *px,char *py) { return (*px > *py? px : py); }

    A.abcd1234

    B.abc1234

    C.abcd123

    D.abc123


    20 0 20 0

  • 第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题:

    下面程序输出的结果是()。includemain(){char *a="1234";fun(a);printf("\n");}fun(cha

    下面程序输出的结果是( )。 #include<stdio.h> main() { char *a="1234"; fun(a); printf("\n"); } fun(char *s) { char t; if(*s) { t=*S++;fun(s);} else return; if(t!='\0') putchar(t); }

    A.1234

    B.4321

    C.1324

    D.4231


    正确答案:B
    解析:本题的fun()函数是用递归法实现逆序输出一个字符串。函数中首先定义一个局部变量t,然后s所指的内容是否为字符串结束符,不是的话将s所指的内容赋给t,同时使s后移一位,然后递归调用fun(s)。到这条语句为止是递归过程,即接下来连续递归调用fun(s)都只会执行到这一半,直到回朔条件(s所指内容是字符串结束符)出现,fun()函数连续返回,判断t不等于0的话,就输出t,所以输入的字符串被逆序输出,故本题的正确答案应该是B。