有以下程序: #include<stdio.h> #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][i];

admin2020-10-26  21

问题 有以下程序:
   #include<stdio.h>
   #define N 4
   void fun(int a[][N],int b[])
   {
   int i;
   for(i=0;i<N;i++)
   b=a
   }
   main()
   {
   int x[][N]=({1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
   fun(x,y);
   for(i=0;i<N;i++)
   printf("%d",y);
   printf("\n");
   }
   程序运行的结果是(  )。

选项 A、1 2 3 4
B、1 0 7 0
C、1 4 5 9
D、3 4 8 0

答案B

解析 数组x有4列。fun函数中for循环的作用是将二维数组前4行的对角线元素分别赋给b[0],b[1],b[2],b[3]。在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1 0 7 0。
转载请注明原文地址:https://kaotiyun.com/show/Wx3p777K
0

最新回复(0)