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

admin2020-11-27  34

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

选项 A、4,7,10,13,
B、1,6,11,16,
C、17,6,11,16,
D、5,13,21,29,

答案C

解析 N=4,for(i=0,i<N,i++) printf(x[j]);此语句输出x[0][0], x[1][1],x[2][2],x[3][3],其中只有x[0][0]的值在fun函数中发生改变,在fun函数中,当i=0时,x[0][0]= x[0][0]+x[3][3]=17,程序运行后的输出结果是:17.6.11.16。因此答案为C选项。
转载请注明原文地址:https://jikaoti.com/ti/T7D0FFFM
0

最新回复(0)