有以下程序: #include void fun(int a,int b) { int t; t=a;a=b;b=t; } main() { int e[10]={1,2,3,4,5,6,7,8,

admin2021-07-09  19

问题 有以下程序:
    #include
    void fun(int a,int b)
    {  int t;
    t=a;a=b;b=t;
    }
    main()
    {  int e[10]={1,2,3,4,5,6,7,8,9,0},i;
    for(i_0;i<10;i+=2)fun(e,e[i+1]);
    for(i=0;i<10;i++)prinff(“%d,”,c);
    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

解析 函数调用中发生的数据传送是单向的..即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组c中的元素的值并没有变化,选择A。
转载请注明原文地址:https://kaotiyun.com/show/fptp777K
0

随机试题
最新回复(0)