有以下程序 #include #define N 4 void fun(int a[][N]) { int b[N][N],i,j; for(i=0; i

admin2020-03-15  22

问题 有以下程序
#include
#define N 4
void fun(int a[][N])
{ int b[N][N],i,j;
for(i=0; ifor(j=0; jb[j] = a[N-1-j];
for(i=0; ifor(j=0; ja[j] = b[j];
}
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;iprintf("%d,", x);
printf("\n");
}
程序的运行结果是( )。

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

答案A

解析 考查二维数组名作为函数参数,被调函数的功能是把数组a逆序的列与行互换,函数调用结束后,x[N][N]为x[N][N]={ {13, 9, 5, 1}, {14, 10, 6, 2}, {15,11,7,3},{16,12,8,4}},输出对角线的数据为:13,10,7,4, 答案选A。
转载请注明原文地址:https://kaotiyun.com/show/xCCp777K
0

最新回复(0)