题目内容
(请给出正确答案)
[单选题]
二维数组A[0..5][0..6]按列为主序存储在起始地址为1000的内存单元中,每个元素占5个字节,则元素A[5][5]的地址是()。
A.1175
B.1180
C.1205
D.1210
查看答案
如果结果不匹配,请 联系老师 获取答案
A.1175
B.1180
C.1205
D.1210
A.B+(i*M+j)*d
B.B+(i*N+j)*d
C.B+(j*M+i)*d
D.B+(j*N+i)*d
请编写函数fun(),该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为:
W WWW
S S S S
H H H H
则字符串中的内容应是WSHWSHWSHWSH。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdio.h>
define M 3
define N 4
void fun(char (*s)[N],char *b)
{
}
main()
{
char a[100],w[M][N]={{ 'W', 'W', 'W', 'W'},
{'S', 'S', 'S', 'S'},{'H', 'H', 'H', 'H'}};
int i,j;
printf("The matrix:\n");
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%3c",w[i][j]);
printf("\n");
}
fun(w,a);
printf("The A string:In");
puts(a);
printf("\n\n");
}
A.释放动态二维数组时,应该先释放每行的空间,然后再释放指针数组
B.释放动态二维数组时,可以按照任意的顺序释放动态分配的所有空间
C.动态创建的二维数组不能进行初始化操作
D.动态二维数组的每一行不一定是连在一起的