有以下程序 #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]; } main() {

admin2018-10-16  24

问题 有以下程序
#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,4,5,9,
C、1,0,7,0,
D、3,4,8,10,

答案C

解析 函数fun(int a[][ N],int b [])的功能是把矩阵a[N][N]主对角线上的元素赋给一维数组b[]。在主函数中由x[][N]的初始化可知,其主对角线上的元素是1,0,7,0。所以当执行完函数fun(x,y)后,一维数组元素y[]中的元素值为1,0,7,0。
转载请注明原文地址:https://jikaoti.com/ti/D2a0FFFM
0

最新回复(0)