【寒假打卡】Day02

简介: 【寒假打卡】Day02

选择


以下程序运行后的输出结果是( )

#include <stdio.h>
void fun(char **p)
{
int i;
for(i = 0; i < 4; i++)
printf("%s", p[i]);
} in
t main()
{
char *s[6] = {"ABCD", "EFGH", "IJKL", "MNOP", "QRST", "UVWX"};
fun(s);
printf("\n");
return 0;
}


A: ABCDEFGHIJKL B: ABCD C: AEIM D: ABCDEFGHIJKLMNOP


答案 : A


解析:

fun函数的参数是一个指向指针的指针 char **p。在这个函数中,使用一个循环来遍历 p 指向的字符串数组,从下标 0 到 3,即共四个元素。每次循环使用 printf 函数打印对应位置的字符串。


在主函数中,定义了一个字符串指针数组 char *s[6],数组中包含六个字符串常量。然后调用了函数 fun,并将 s 数组作为参数传递给 fun 函数。


2、数组 a 的定义为: int a[3][4]; 下面哪个不能表示a[1][1] ( )


A: *(&a[0][0]+5) B: *(*(a+1)+1) C: *(&a[1]+1) D: *(a[1]+1)


答案: B


解析:


A: *(&a[0][0]+5):&a[0][0] 是指向 a[0][0] 的指针,加上 5 相当于跳过了 5 个 int 大小的内存单元,即a[0][5]


B: *(*(a+1)+1) :a+1 是指向 a[1] 的指针,*(a+1) 即为 a[1],然后再加上 1,即 *(a[1]+1),表示取 a[1] 数组中的第二个元素,即 a[1][1]


C: *(&a[1]+1):a[1] 是一个指向 a[1] 的指针,加上 1 后相当于跳过了整个 a[1] 数组的大小,不再指向 a[1][1]


D: *(a[1]+1):a[1]+1 是指向 a[1][1] 的指针,再使用 * 解引用操作符即可获取 a[1][1] 的值


3、void (*s[5])(int) 表示意思为( )


A: 函数指针 B: 函数指针数组 C: 数组指针函数 D: 语法错误


答案: B


解析:

s[5] 指的是一个大小为 5 的数组。

(*s[5]) 表示数组元素的类型,即函数指针。

(int) 表示函数指针所指向的函数的参数类型为 int。


4、在64位操作系统上,下面程序返回结果是( )

int main()
{
int *k[10][30];
printf("%d\n", sizeof(k));
return 0;
}


A: 4 B: 8 C: 1200 D: 2400

答案: D

解析:

每个元素占用的空间大小是 30 * sizeof(int *) = 30 * 8 = 240 个字节。

k 数组总共占用的空间大小是 10 * 240 = 2400 个字节


5、假设函数原型和变量说明如下,则调用合法的是( )

void f(int **p);
int a[4]={1,2,3,4};
int b[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int *q[3]={b[0],b[1],b[2]};

A: f(a); B: f(b); C: f(q); D: f(&a)

答案: A


编程

NC31 第一个只出现一次的字符

NC31 第一个只出现一次的字符

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param str string字符串 
 * @return int整型
 */
int FirstNotRepeatingChar(char* str ) {
    int len=strlen(str);
    int cnt[10000];
    int k=0;
    for(int i=0;i<len;i++)
    {
        k=0;
        for(int j=0;j<len;j++)
        {
            if(str[i]==str[j])
                k++;
            cnt[i]=k;
        }
    }
    for(int i=0;i<len;i++)
    {
        if(cnt[i]==1)
            return i;
    }
    return -1;
}


面试题 01.01. 判定字符是否唯一

面试题 01.01. 判定字符是否唯一


bool isUnique(char* astr){
    int len=strlen(astr);
    for(int i=0;i<len;i++)
    {
        for(int j=i+1;j<len;j++)
        {
            if(astr[i]==astr[j])
                return false;
            j++;
        }
    }
    return true;
}


目录
相关文章
|
2天前
|
存储 C++
【寒假打卡】Day01
【寒假打卡】Day01
22 0
|
7月前
|
人工智能 前端开发 Java
我不是培训班的,但建议上IT培训班
我不是培训班的,但建议上IT培训班
|
8月前
|
消息中间件 算法 NoSQL
秋招上岸“我”都做对了哪些事?
秋招上岸“我”都做对了哪些事?
88 2
秋招上岸“我”都做对了哪些事?
|
10月前
|
定位技术
1256:献给阿尔吉侬的花束 2021-01-09
1256:献给阿尔吉侬的花束 2021-01-09
|
算法 Go
牛客寒假算法集训营 2 感想
【【题目讲解】2023牛客寒假算法基础集训营2】
66 0
牛客寒假算法集训营 2 感想
|
算法 C语言 C++
开学前学习(女娲补天 精卫填海)计划
2023 2 1 至 开学前学习(女娲补天 精卫填海)计划 编辑这篇博客时间到开学还有18天,自从回来了福建老家之后就没有怎么学过习如何在开学前恢复好自己的学习状态以及更好的充实自己的能力,特写下此篇计划来督促和总理自己的学业。
88 0
|
移动开发 小程序 程序员
这一年,熬过许多夜,也有些许收获 | 2022年终总结
弹指一挥间,时间如白驹过隙。光阴似箭,如月如梭,时间如闪电,转瞬即逝。一说到年终总结,好像都离不开这样煽情的开场白。但不可否认的是,时间确实过得很快,一晃一年又没了。
131 0
这一年,熬过许多夜,也有些许收获 | 2022年终总结
|
SQL 前端开发 Java
Java开发:19届二本技术渣,校招与工作一个月辞职后的上岸之路
Java开发:19届二本技术渣,校招与工作一个月辞职后的上岸之路
147 0
|
算法 Java
又是一年的校招季,过来人给你讲几句肺腑之言
阅读本文大概需要 10 分钟。 转眼间又到了六月底。马上就要迎来新一年的秋季校园招聘了。这对很多即将毕业的,想要从事互联网行业的同学来说,都是非常重要的一段时间。 在这期间,很多互联网公司将陆续开始校园招聘,招聘对于很多公司来说都是非常重要的,它是为公司储备优秀人才的一个重要的活动。