有以下程序include<stdio.h>fun(int x){if(x/2>O)fun(x/2);prinff(“%d.”,x);{main( ){ fun(6),printf(“\n”);}程序运行后的输出结果是【 】。

题目

有以下程序

include<stdio.h>

fun(int x)

{if(x/2>O)fun(x/2);

prinff(“%d.”,x);

{

main( )

{ fun(6),printf(“\n”);}

程序运行后的输出结果是【 】。


相似考题
更多“有以下程序include&lt;stdio.h&gt;fun(int x){if(x/2&gt;O)fun(x/2);prinff(“%d.”,x);{main(){fu ”相关问题
  • 第1题:

    下面程序的运行结果是( )。include main(){int a=25; fun(&A); }fun(int *x){ print

    下面程序的运行结果是( )。

    include<stdio.h>

    main()

    {int a=25;

    fun(&A);

    }

    fun(int *x)

    { printf("%d\n",++*x);

    }


    正确答案:26
    26 解析:在主函数中只调用了fun函数,调用时把变量a的地址传递给形参。fun函数的形参x是一个指针,其基类型与主函数中a的类型一致,因此在调用时得到的是a的地址,输出项是++*x,*x代表的就是主函数中变量a的存储单元,++*x就是使主函数中a的值加1,输出26。

  • 第2题:

    有以下程序:

    fun(int x)

    { int P;

    if(x==0||x==l) return(3);

    p=x-fun(x-2);

    return p;

    }

    main

    {printf("%d\n",fun(7));}

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

    A.A.7

    B.3

    C.2

    D.0


    正确答案:C
    在函数fun(intx)中,有个if语句判断,如果参数x等于0或1时,返回值,否则进入下面的p=x-fun(x-2)递归函数。当在主函势中调用fun(7)时,其过程为:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的输出结果为2。

  • 第3题:

    若下列各选项中所有变量已正确定义,函数fun通过return语句返回一个函数值,以下选项中错误的程序是( )。

    A.main( ) {...... x = fun(2,10);......} float fun(int a, int b){......}

    B.float fun( int a,int b){......} main( ) {......x = fun(i,j);......}

    C.float fun(int, int); main( ) {......x=fun(2,10);......} float fun(iht a, int b){......}

    D.main( ) { float fun(int i, int j); ...... x = fun(i,j);......} float fun(int a,int b) {......}


    正确答案:A
    解析:C语言程序从main函数开始执行,当程序中定义了多个函数时,通常情况下是先定义后调用。若被调用函数定义在主调函数之后,则必须先声明后调用。在选项A)中,先执行main函数,并调用了fun函数,而fun函数在此调用之前无定义也无声明,故无法正常识别调用,所以错误。

  • 第4题:

    若各选项中所用变量己正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是( )。

    A.main() <……x=fun(2,10);……} float fun(int a,int b) {……}

    B.float fun(int a,int b) {……} main() {……x=fun(i,j);……}

    C.float fun(int,int); main() <……x=fun(2,10);……} float fun(int a,int B) {……}

    D.main() <float fun(int I,intj); ……x=fun(i,j);……} float fun(int a,int b) {……}


    正确答案:A
    解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。在选项A)中,调用的子函数在调用后面定义,所以不正确。在选项B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项D)中,在主调函数中先对子函数float fun(int,intj)进行了定义,然后进行调用。

  • 第5题:

    有以下程序: fun(int x) { int P; if(x==0 || x==l)return(3); p=x-fun(x-2); return p; } main {printf("%d\n",fun(7));} 程序执行后的输出结果是( )。

    A.7

    B.3

    C.2

    D.0


    正确答案:C
    在函数funlintx)中,有个if语句判断,如果参数x等于0或1时,返回值,否则进入下面的p=x-fun(x-2)递归函数。当在主函势中调用fun(7)时,其过程为:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的输出结果为2。