有以下程序 #define N20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--)a[i+1]=a[i]; } main() {

admin2009-04-15  21

问题 有以下程序    #define N20    fun(int a[],int n,int m)    {    int i,j;         for(i=m;i>=n;i--)a[i+1]=a;    }    main()    {      int i,a[N]={1,2,3,4,5,6,7,8,9,10};      fun(a,2,9);      for(i=0;i<5;i++)printf("%d",a);    }    程序运行后的输出结果是

选项 A、10234
B、12344
C、12334
D、12234

答案2

解析 因为宏定义N=20,所以数组a中的后10个元素均为0,函数fun(a [],n,m)的功能是从a[n+1](m>n),依次将值赋给后一个元素。所以fun(a,2,9);执行后,数组a中的元素为a[N]={1,2,3,4,4,5,6,7,8,9,10}。
转载请注明原文地址:https://kaotiyun.com/show/6iXp777K
0

最新回复(0)