参考答案和解析
正确答案:A
函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组c中的元素的值并没有变化,选择A。
更多“ 有以下程序:程序运行后的输出结果是( )。A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8”相关问题
  • 第1题:

    有以下程序: 程序运行后的输出结果是( )。A.11,12B.12,13C.13,14SXB

    有以下程序:

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

    A.11,12

    B.12,13

    C.13,14

    D.14,11


    正确答案:B
    本题中定义了一个结构体数组dt[2],其中dt[0].x=11,dt[O].y=12,dt[1].x=13,dt[1].y=14。在main函数中指针P指向了结构体数组的第一个元素,因此P一>x值为ll,P_>y值为l2,自加运算的结果分别为12和13。

  • 第2题:

    有以下程序程序的运行结果是( )。A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,SXB

    有以下程序

    程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0,

    B.2,1,4,3,6,5,8,7,0,9,

    C.0,9,8,7,6,5,4,3,2,l,

    D.0,1,2,3,4,5,6,7,8,9,


    正确答案:A
    函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参。而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组C中的元素的值并没有变化,故选择A)。

  • 第3题:

    有以下程序:

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


    正确答案:B
    第一次执行外循环,i的值为3,第一次执行内循环j的值为1,j<=2条件成立,打印i+j的值,即4;第二次执行内循环J的值为2,j<=2条件成立,打印i+j的值,即5;再判断条件不成立,打印回车换行符,跳出内循环。第二次执行外循环,i的值为2,内循环的执行同第一次一样,所以打印3和4,打印回车换行,结束内循环。第三次执行外循环i的值为1,同理内循环中打印2和3,打印回车换行符,结束内循环。

  • 第4题:

    有下列程序: #include<stdi0.h> voidfun(inta,intb) {intt; t=a;a=b;b=t; voidmain( ) {intc[1O]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2)fun(c[i],c[i+1]); for(i=0;i<10;i++)printf(”%d,”,c[i]); printf("\n"); } 程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0

    B.2,1,4,3,6,5,8,7,0,9

    C.0,9,8,7,6,5,4,3,2,1

    D.0,1,2,3,4,5,6,7,8,9


    正确答案:A
    A。【解析】在程序中实参向形参传递数据的方式是“值传递”,如果实参传递给形参是变量的值,就是数值传递,并不能改变实参的值,所以数组c[10]的值不变。

  • 第5题:

    有以下程序 程序运行后的输出结果是( )。A.程序错无输出结果B.31.5C.7.5SXB

    有以下程序

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

    A.程序错无输出结果

    B.31.5

    C.7.5

    D.14.0


    正确答案:A
    宏定义不是c语句,末尾不需要有分号。因此语句“printf(”%4.1f\n”。S(a+b));”展开后为“prinff(”%4.1tXn",3.5;+a+b}a+b;);”,所以程序会出现语法错误。