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

admin2020-07-28  24

问题 若有以下程序
#include
#define N 4
void fun(int a[][N], int b[], int flag)
{ int i,j;
for(i=0; i{ b = a[0];
for(j=1; jif (flag ? (b > a[j]) : (b < a[j]))
b = a[j];
}
}
main( )
{ int x[N][N]={1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16}, y[N],i;
fun(x, y, 1);
for ( i=0; i);
fun(x, y, 0);
for (i=0;i);
printf("\n");
}
则程序的输出结果是( )。

选项 A、1,5,9,13,4,8,12,16,
B、4,8,12,16,1,5,9,13,
C、1,2,3,4,13,14,15,16,
D、13,14,15,16,1,2,3,4,

答案A

解析 考查数组名作为函数参数。函数fun()的作用是如果flag为1则用b记录a[0]至a[3](即当前行)中最小的值,若flag为0,则用b记录a[0]至a[3](即当前行)中最大的值。所以答案选A。
转载请注明原文地址:https://jikaoti.com/ti/gJD0FFFM
0

最新回复(0)