二维数组A[0…8][0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储
A.570
B.506
C.410
D.482
A.570
B.506
C.410
D.482
A.570
B.506
C.410
D.482
要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是______ 。
A.int A[]={3,9,4,8,0,0,0};
B.int A[7]={3,9,4,8,0,0,0};
C.int A[]={3,9,4,8};
D.int A[7]={3,9,4,8};
对一般的二维数组G而言,当(5)时,其按行存储的G[i,j]的地址与按列存储的G[j,i]的地址相同。
A.1088
B.1084
C.1092
D.1120
下列程序定义了N×N的二维数组,并在主函数中赋值。请编写一个函数fun(),函数的功能是:求数组周边元素的平方和并作为函数值返回给主函数。例如,若数组a中的值为
0 1 2 7 9
1 11 21 5 5
2 21 6 11 1
9 7 9 10 2
5 4 1 4 1
则返回主程序后s的值应为310。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
[试题源程序]
include <stdio.h>
include <conio.h>
include <stdlib.h>
define N 5
int fun(int w[][N])
{
}
main()
{
int a[N][N]={0, 1, 2, 7, 9, 1, 11, 21, 5, 5, 2, 21, 6, 11, 1, 9, 7, 9, 10, 2, 5, 4, 1, 4, 1};
int i, j;
int s;
clrscr()
printf("*****The array*****\n");
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
printf("%4d", a[i][j]);
}
printf("\n');
}
s=fun(a);
printf("*****THE RESULT*****\n");
printf("The sum is: %d\n", s);
}
已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是______。
二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i范围从0到4,列下标,i的范围从0到5。M按行存储时元素M[3,5]的起始地址与M按列存储时元素()的起始地址相同。
A.M[2,4)
B.M[3,4)
C.M[3,5]
D.M[4,4)