问答题
给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。
例如,有下列矩阵:
1 2 3
4 5 6
7 8 9
10 11 12
若k为2,程序执行结果为:
7 8 9
4 5 6
1 2 3
10 11 12
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include<Stdio.h>
#define N 3 ’
#define M 4
/*********found*********/
void fun(int(*a)[N],int
【1】
)
{ int i,temp;
/*********found*********/
for(i=0;i<
【2】
;i++)
{temp=a[0][i];
/*********found*********/
a[0][i]=
【3】
;
a[k][i]=temp;
}
}
main()
{int x[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}},i,j;
printf("The array before moving:\n\n");
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%3d",x[i][j]);
printf("\n\n");
}
fun(x,2);
printf("The array after moving:\n\n");
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%3 d",x[i][j]);
printf("\n\n");
}
}
【参考答案】
正确答案:(1)k (2)N (3)a[k][i]