更多“有以下程序: #include<stdio.h> main( ) {int X=011; printf("%d\n",++x); } 程序运 ”相关问题
  • 第1题:

    有以下程序 include void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() {int x=3

    有以下程序 #include<stdio.h> void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() { int x=3, y=5,*p=&x, *q=&y; fun(p,q); printf("%d,%d,",*p,*q); fun(&x,&y); printf(" %d,%d\n",*p,*q); } 程序运行后的输出结果是______。

    A.3,5,5,3

    B.3,5,3,5

    C.5,3,3,5

    D.5,3,5,3


    正确答案:B
    解析:本题主要考查的是函数的实参和形参之间的传递关系,C语言中实参变量和形参变量之间的数据传递是单向的“值传递”方式。指针变量作函数参数也要遵循这一规则。调用函数不可能改变实参指针变量的值。所以x和y的地址并没有改变,即p和q也没有改变,因此,选项B是正确的。

  • 第2题:

    有以下程序: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。

  • 第3题:

    有以下程序:include define F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b

    有以下程序: #include <stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

    A.12

    B.15

    C.16

    D.20


    正确答案:A
    解析:在程序中先将表达式中的宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

  • 第4题:

    以下程序的输出结果是( )。 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。

  • 第5题:

    有以下程序:includedefine F(x,y) (x)*(y)main(){int a=3,b=4; printf("%d\n",F(a++,

    有以下程序: #include <stdio.h> #define F(x,y) (x)*(y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

    A.12

    B.15

    C.16

    D.20


    正确答案:A
    解析:本题考查带参数的宏定义。对F(a++,b++)展开后,宏的返回值为3×4=12,这里a++,b++都是先使用变量值,再自增。

  • 第6题:

    有以下程序 main() { int m=3,n=4,x; x=-m++; x=x+8/++n; printf("%dn",x); } 程序运行后的输出结果是


    2