有以下程序: #include<stdio.h> void fun(int a,int b) { int t; t=a;a=b;b=t; } main() { int c

admin2018-07-19  19

问题 有以下程序:
    #include<stdio.h>
    void fun(int a,int b)
    {
      int t;
      t=a;a=b;b=t;
    }
    main()
    {
       int c[10]={1,2,3,4,5,6,7,8,9,0},i;
       for(i=0;i<10;i+=2)
         fun(c,c[i+1]);
       for(i=0;i<10;i++)
         printf("%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语言中,函数参数传递的作用是“传值”,形参和实参是两个没有关系的变量。函数fun交换了参数值,但只是交换了形参的值,结果并不会传递给实参。所以数组c没有发生变化,原样输出。
转载请注明原文地址:https://kaotiyun.com/show/Ktxp777K
0

最新回复(0)