牛客网刷题笔记1

题目: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  
#include  
#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

你可能感兴趣的:(刷题心得)