更多“以下程序的输出结果是main(){int a=0;a+=(a=8);printf("%d\n",a);} ”相关问题
  • 第1题:

    以下程序的输出结果是( )。 include main()fint x=0; sub(&x,16,2); printf("%d\n",

    以下程序的输出结果是( )。

    include<stdio.h>

    main()

    fint x=0;

    sub(&x,16,2);

    printf("%d\n",x);

    }

    sub(int*a,int n,int k)

    {if(k<=n) sub(a,n/2,2*k);

    *a+=k;

    }


    正确答案:14
    14 解析:本题考查递归函数的调用。在主函数中调用sub(&x,16,2)函数,此时n=16,k=2,if语句的控制的条件k=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k=n不成立,因此,最后得x=2+4+8=14。

  • 第2题:

    以下程序的输出结果是( )。 include fun() {static int a=0; a+=3;printf("%d",A); } ma

    以下程序的输出结果是( )。 include<stdio.h> fun() {static int a=0; a+=3;printf("%d",A); } main() {int cc; for(cc=1;cc<5;cc++)fun(); printf("\n"); }


    正确答案:3 6 9 12
    3 6 9 12 解析:本题考查最基本的for循环。for(cc=1;cc5;cc++)规定循环次数为4次,每次a+=3,即每次a的值增加3,但因为fun函数中变量a为static类型,所以每次调用完子函数之后,变量a所做的改变都要保存。

  • 第3题:

    17、以下程序段的输出结果是 ___。 main() { int a=0; a+=(a=8); printf("%d\n",a); }


    852

  • 第4题:

    下列程序的输出结果是()。includemain(){int a=4; printf("%d\n",(a+=a-=a*a));}A.-8B.

    下列程序的输出结果是( )。 #include<stdio.h> main() { int a=4; printf("%d\n",(a+=a-=a*a)); }

    A.-8

    B.14

    C.0

    D.-24


    正确答案:D
    解析: 表达式a+=a-=a*a看起来复杂,其实将它分成两个表达式来计算就简单了:①第一个表达式 (a-=a*a)=(a=a-a*a=-12);②第二个表达式(a+=a-=a*a)=(a=a+a=-24)。

  • 第5题:

    以下程序段的输出结果是 ___。 main() { int a=0; a+=(a=8); printf("%dn",a); }


    D