有以下程序void change(int k[ ]){ k[0]=k[5];}main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n<=4 ) { change( &x[n]) ; n++; }for(n=0;n<5;n++) printf("%d ",x[n]);printf("\n");}程序运行后输出的结果是A)6 7 8 9 10B)1 3 5 7 9C)1 2 3 4 5D)6 2 3 4 5

题目

有以下程序

void change(int k[ ]){ k[0]=k[5];}

main()

{ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while( n<=4 ) { change( &x[n]) ; n++; }

for(n=0;n<5;n++) printf("%d ",x[n]);

printf("\n");

}

程序运行后输出的结果是

A)6 7 8 9 10

B)1 3 5 7 9

C)1 2 3 4 5

D)6 2 3 4 5


相似考题
更多“有以下程序void change(int k[ ]){ k[0]=k[5];}main(){ int x[10]={1,2,3,4,5,6,7,8,9,10}, ”相关问题
  • 第1题:

    下列程序的运行结果是______。 void fun(int *a,int *b) { int *k; k=a;a=b;b=k; } main() { int a=3,b=6,*x=&a,*y=&b; fun(x,y); printf("%d%d",a,b); }

    A.63

    B.36

    C.编译出错

    D.0


    正确答案:B
    解析:本题fun函数的功能是实现数据交换,交换的只是存储指针变量的地址,且指针所指向的内容不变。

  • 第2题:

    有以下程序:includeint fun(int*k){int b=0;b=*k+b:return(B);}main(){int a[10]={1,2

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

    A.10 12

    B.8 10

    C.3 4

    D.10 28


    正确答案:C

  • 第3题:

    有以下程序: void change(int k[]){k[0]=k[5];} main() { int x[10]=(1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4) {change(&x[n]);n++;} for(n=0;n<5;n++) printf("%d",x[n]); printf("\n"); } 程序运行后输出的结果是( )。

    A.6 7 8 9 10

    B.1 3 5 7 9

    C.1 2 3 4 5

    D.6 2 3 4 5


    正确答案:A
    解析:本题的change()函数实现的是:将传入的地址值的高5个单位的地址中的内容复制到传入的地址当中,即等价于*k=*(k+5)。在主函数中,首先通过while循环,循环5次调用change()函数,依次将x[0]~x[4]的地址传入,所以while循环结束后,x[0]~x[4]中的内容等于x[5]~x[9]中的内容。所以输出结果为678910,故应该选择A。

  • 第4题:

    有以下程序: void change(int k[]){k[0]=k[5];) main() {int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4)(change(&x[n]);n++;} for(n=0;n<5;n++)printf("%d",x[n]); printf("\n"); } 程序运行后的输出结果是( )。

    A.6 7 8 9 10

    B.1 3 5 7 9

    C.1 2 3 4 5

    D.6 2 3 4 5


    正确答案:A
    解析:本题主要考查数组元素的地址作为实参,当n=0时,把x[0]的地址传递给被调函数change(),即把形参k和实参x指向同一个存储单元,执行被调函数后k[0]=6,即x[0]=6;当n=1时,执行被调函数后x[1]=7,以此类推,最后得到x数组的值为6,7,8,9,10。

  • 第5题:

    有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p)

    有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )

    A.程序有错不能运行

    B.输出4个NULL

    C.输出0 1 2 3

    D.输出1 1 1 1


    正确答案:A