牛客网刷题笔记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 <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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值