有以下程序#include <stdio.h>fun(int x){ if(x/2>0) f un(x/2);printf("%d ",x);}main(){ fun(6);printf("\n"); }程序运行后的输出结果是 【 1 5 】 。

题目

有以下程序

#include <stdio.h>

fun(int x)

{ if(x/2>0) f un(x/2);

printf("%d ",x);

}

main()

{ fun(6);printf("\n"); }

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


相似考题
更多“有以下程序#include &lt;stdio.h&gt;fun(int x){ if(x/2&gt;0) f un(x/2);printf("%d ",x ”相关问题
  • 第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题:

    以下程序的输出结果是()。includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s=

    以下程序的输出结果是( )。 #include<stdio.h> int fun(int n,int *s) { int f1,f2; if(n==0||n==1) *s=1; else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } void main() { int x; fun(6,&x); printf("\n%d" ,x);}

    A.7

    B.13

    C.9

    D.10


    正确答案:B
    解析:n=0或n=1是递归的终止条件。然后利用已知值逐步递推求出未知值。注意:通过传送地址值,在被调用函数中直接改变调用函数中的变量的值。

  • 第3题:

    有以下程序includeint f(intx){inty; if(x==0||x==1)return(3); y=x*x-f(x-2); return

    有以下程序 #include <stdio.h> int f(int x) { int y; if(x==0||x==1) return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3); printf("%d\n",z); } 程序的运行结果是

    A.0

    B.9

    C.6

    D.8


    正确答案:C
    解析:函数int f(int x)是一个递归函数调用,当x的值等于0或1时,函数值等于3,其他情况下y=x2-f(x -2),所以在主函数中执行语句z=f(3)时,y=3*3-f(3-2)=9-f(1)=9-3=6。

  • 第4题:

    下列程序的输出结果是【】。 include void fun(int x) { if(x/2>0) fun(x/2); printf("%d"

    下列程序的输出结果是【 】。

    include <stdio.h>

    void fun(int x)

    {

    if(x/2>0) fun(x/2);

    printf("%d",x);

    }

    main()

    {

    fun(3);printf("\n");

    }


    正确答案:13
    13 解析:此题考查的是函数的递归调用,进入主函数调用fun()函数,进行if语句的判断,当x=3时,条件成立,执行fun(x/2);语句,递归调用fun()函数本身,进行if语句条件判断,if(x/2>0)条件不成立,用printf输出1;返回上一次调用fun()函数,printf输出3,因此程序的最终输出结果为:13。

  • 第5题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第6题:

    写出以下程序的执行结果。#include "stdio.h" void f13(int y,int *x) { y=y+*x; *x=*x+y; } int main() { int x=2,y=4; f13(y,&x); printf("%d,%dn",x,y); return 0; }


    B B。【解析】由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(inta,intb){x=a;y=b;}”,然后调用成员函数disp,则输出为“cout$amp;