题目:For the following Java or C# code(3 Points),What will my Array3[2][2] returns?
int [][] myArray3 =
new int[3][]{
new int[3]{5,6,2},
new int[5]{6,9,7,8,3},
new int[2]{3,2}
};
答案是:overflow
原因:首先,如果是Java,那么这题语法有问题,Java不支持int[] array = new int[2]{1,2};这种定义,即使把它当成支持,那么它也是错的,因为,这个二位数组它的下标是从0开始的,所以Array[2][2]代表的是第三行第三个,肯定没有啊,所以就叫溢出了。
题目:所谓取广义表的表尾就是返回广义表中最后一个元素(对还是不对?)
答案:不对。
原因:广义表表尾是除表头之外的所有元素。
题目:下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
请在程序的下画线处填入正确的内容,使程序得出正确的结果。
#include <stdio.h>
#include <string.h>
#define N 5
#define M 8
int fun(char (*ss)[M], char *t)
{
int i;
for (i = 0; i < 第一处 ; i++)
if (strcmp(ss[i], t) == 0)
return 第二处 ;
return -1;
}
main( )
{
char ch[N][M] = {"if", "while", "switch", "int", "for"}, t[M];
int n, i;
printf("\nThe original string\n\n");
for (i = 0; i < N; i++)puts(ch[i]);
printf("\n");
printf("\nEnter a string for search:");
gets(t);
n = fun(ch, t);
if (n == 第三处 )
printf("\nDon't found!\n");
else
printf("\nThe position is %d\n", n);
}
第一处:N
第二处:i
第三处:-1