寒假作业Day 02

这是第二天的作业,fighting!

Day 02

一、选择题

在这里插入图片描述

首先char* s[6]是指针数组,也就是其存储的都是这些字符串的地址,其实际上的类型为char**,而fun函数传入了s数组的首地址。而后续fun函数中打印字符,p[i]即*(p+i),我们也从之前的分析中发现了这个其实也就是一个二维数组,所以for循环打印的就是每行的字符串,也就是按照顺序打印0~3下标的字符串,故答案为ABCDEFGHIJKLMNOP

在这里插入图片描述

B可以转化为D,而B一看就知道是正确的,所以B和D可以表示a[1][1];而A,+5跳过五个元素的地址,故1 2 3 0 1,最后变成a[1][1];而C,&a[1]指的是第一行的地址,+1会跳过一整行元素,地址会变成a[2]这一行的首地址

在这里插入图片描述

void (*s[5])(int) 是C语言中的一个声明,它定义了一个名为 s 的数组,该数组包含5个元素,每个元素都是一个指向函数的指针。这些函数接受一个 int 类型的参数,并返回 void 类型。
这样的声明常常用于回调函数、函数表或其他需要动态或灵活地引用函数的场景。
举个例子:

#include <stdio.h>  
  
void printInt(int x) {  
    printf("%d\n", x);  
}  
  
int main() {  
    void (*s[5])(int);  // 声明一个包含5个函数指针的数组  
  
    s[0] = printInt;  // 将第一个元素设置为指向printInt函数  
  
    s[0](10);  // 使用数组中的第一个函数指针调用函数,输出10  
  
    return 0;  
}

故结果很明显,答案为函数指针数组

在这里插入图片描述

这里定义的是一个10行30列的二维指针数组,其中的每个元素都是指针,而指针大小在64位操作系统上的大小是8个字节,所以sizeof(k)的大小为10308=2400,选D

在这里插入图片描述
在这里插入图片描述

现在,让我们分析每个选项:

A: f(a);
a 是一个整数数组,当数组作为函数参数传递时,它会被转换为指向其第一个元素的指针,即 int* 类型。这与 f 所期望的 int** 类型不匹配。

B: f(b);
b 是一个二维整数数组。当二维数组作为函数参数传递时,它会被转换为指向其第一行的指针,即 int (*)[4] 类型。这与 f 所期望的 int** 类型不匹配。

C: f(q);
q 是一个整数指针数组,每个元素都是一个指向 b 的某一行的指针。这与 f 所期望的 int** 类型匹配,因为 q 的类型实际上是 int* [3],它会被转换为指向其第一个元素的指针,即 int**。

D: f(&a);
&a 是数组 a 的地址,其类型是 int (*)[4],即指向包含 4 个整数的数组的指针。这与 f 所期望的 int** 类型不匹配。

综上所述,只有选项 C: f(q); 是合法的调用。

二、编程题

第一个只出现一次的字符

在这里插入图片描述

int FirstNotRepeatingChar(char* str ) {
    // write code here
    int a[128]={0};
    int i=0,t;
    for(i=0;str[i]!='\0';i++)
    {
        t=str[i];
        a[t]++;
    }
    for(i=0;str[i]!='\0';i++)
    {
        t=str[i];
        if(a[t]==1)
        {
            return i;
        }
    }
    return -1;
}

首先ASCII码值一共有128个,我们创建一个拥有128个元素的数组,并将其所有元素初始化为0;下一步我们遍历原数组,创建一个int型变量t用来存储原数组的每个元素值,并让数组a对应位置值+1;接下来再遍历一次数组,如果这个元素出现了几次,那么a[t]绝对不等于1,而以顺序遍历,所以第一个为1的值,其下标t一定是str中第一个只出现一次的值

判定字符是否唯一

在这里插入图片描述

bool isUnique(char* astr){
    int a[128]={0};
    int i=0,t;
    for(i=0;astr[i]!='\0';i++)
    {
        t=astr[i];
        a[t]++;
    }
    for(i=0;astr[i]!='\0';i++)
    {
        t=astr[i];
        if(a[t]!=1)
        {
            return false;
        }
    }
    return true;
}

这里我们可以使用上面的方法,是可以解决的,其实就是换了一个判断条件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/421904.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux实践室】Linux初体验

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux 目录结构介绍2.2 &#x1f514;Linux …

Java基于SpringBoot的企业客户管理系统的设计与实现论文

摘 要 本论文主要论述了如何使用JAVA语言开发一个企业客户管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述企业客户管理系统的当前背景以及系统开发的…

Spark Shuffle Tracking 原理分析

Shuffle Tracking Shuffle Tracking 是 Spark 在没有 ESS(External Shuffle Service)情况&#xff0c;并且开启 Dynamic Allocation 的重要功能。如在 K8S 上运行 spark 没有 ESS。本文档所有的前提都是基于以上条件的。 如果开启了 ESS&#xff0c;那么 Executor 计算完后&a…

MySQL 表的基本操作,结合项目的表自动初始化来讲

有了数据库以后&#xff0c;我们就可以在数据库中对表进行增删改查了&#xff0c;这也就意味着&#xff0c;一名真正的 CRUD Boy 即将到来&#xff08;&#x1f601;&#xff09;。 查表 查看当前数据库中所有的表&#xff0c;使用 show tables; 命令 由于当前数据库中还没有…

多层感知器(神经网络)与激活函数

单个神经元&#xff08;二分类&#xff09; 多个神经元&#xff08;多分类&#xff09; 多层感知器 多层感知器&#xff0c;他是一种深度学习模型&#xff0c;通过多层神经元的连接和激活来解决非线性问题。 激活函数 激活函数的种类包括relu&#xff0c;sigmoid和tanh等 …

torch的下载

cmd中输入 nvidia-smi 查看cuda版本&#xff0c;我这里是12.3 然后进入pytorch官网&#xff1a;PyTorch 直接本页面往下滑就能看到 选择与自己cuda版本相近的。 复制命令&#xff1a; pip3 install torch torchvision torchaudio --index-url https://download.pytorch.…

搭建stressapptest调试环境:VSCode的分步教程

vscode调试stressapptest详解 一、环境准备二、设置调试配置2.1、编辑launch.json文件和task.json文件2.2、将 stressapptest 编译成 debug 版本 三、运行调试总结 一、环境准备 stressapptest&#xff08;简称SAT&#xff09;是一种用于在Linux系统上测试系统稳定性和可靠性的…

【MySQL】:高效利用MySQL函数实用指南

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. MySQL函数概论二. 字符串函数三. 数值函数四. 日期函数五. 流程函数&#x1…

MySQL:合并查询语句

1、查询表的数据 t_book表数据 SELECT * FROM db_book.t_book; t_booktype表数据 SELECT * FROM db_book.t_booktype; 提醒&#xff1a; 下面的查询操作的数据来自上图查询表的数据 2. 使用 UNION 查询结果合并&#xff0c;会去掉重复的数据 使用UNION关键字是&#xff0c;数…

Angular 由一个bug说起之四:jsonEditor使用不当造成的bug

一&#xff1a;问题 项目中使用了一个JSON第三方库&#xff1a; GitHub - josdejong/jsoneditor: A web-based tool to view, edit, format, and validate JSON 当用户编辑JSON格式的数据&#xff0c;查找替换时&#xff1a; 用户的期望结果是&#xff1a;$$ 被替换为$$_text&a…

centos7 部署harbor镜像仓库

1. 安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum list docker-ce.x86_64 --showduplicates |sort -r yum install docker-ce-17.09.1.ce -y syste…

分布式事务简介

分布式事务简介&#xff0c;通过组内分享学习到的知识&#xff0c;并进行讨论。 主要内容 分布式事务简介 分布式事务是指跨越多个数据库或服务的一系列操作&#xff0c;这些数据库或服务可能分布在网络的不同节点上&#xff0c;它们共同组成一个完整的逻辑工作单元&#xf…

用Python库angr来分析二进制文件

最近在学习二进制分析&#xff0c;了解到二进制加载器&#xff0c;于是跟着AI一起&#xff0c;学习了这个python可用的二进制加载器分析器angr,并写了这篇介绍的文章&#xff0c;儿童卡通风格&#xff0c;哈哈。 亲爱的代码侠客们&#xff0c;今天我们要一起踏上探索二进制文件…

CloudCanal x Hive 构建高效的实时数仓

简述 CloudCanal 最近对于全周期数据流动进行了初步探索&#xff0c;打通了Hive 目标端的实时同步&#xff0c;为实时数仓的构建提供了支持&#xff0c;这篇文章简要做下分享。 基于临时表的增量合并方式基于 HDFS 文件写入方式临时表统一 Schema任务级的临时表 基于临时表的…

蓝桥杯算法题汇总

一.线性表&#xff1a;链式 例题&#xff1a;旋转链表 二.栈&#xff1a; 例题&#xff1a;行星碰撞问题 三.队列 三.数组和矩阵 例题&#xff1a;

蓝灵娥驾到!国漫小师妹的魅力大揭晓!

在国漫中&#xff0c;有非常多出众的小师妹形象&#xff0c;如同璀璨的星辰&#xff0c;以其独特的魅力吸引着无数观众的目光。她们形象各异&#xff0c;或纯真善良&#xff0c;或勇敢智慧&#xff0c;或刁蛮任性&#xff0c;其魅力经久不衰。今天&#xff0c;就让我们以玄机科…

网络编程 io_uring

io_uring 1、概述 io_uring是Linux&#xff08;内核版本在5.1以后&#xff09;在2019年加入到内核中的一种新型的异步I/O模型&#xff1b; io_uring使用共享内存&#xff0c;解决高IOPS场景中的用户态和内核态的切换过程&#xff0c;减少系统调用&#xff1b;用户可以直接向…

2024年腾讯云会员老用户续费优惠活动,可领代金券

腾讯云优惠活动2024新春采购节活动上线&#xff0c;云服务器价格已经出来了&#xff0c;云服务器61元一年起&#xff0c;配置和价格基本上和上个月没什么变化&#xff0c;但是新增了8888元代金券和会员续费优惠&#xff0c;腾讯云百科txybk.com整理腾讯云最新优惠活动云服务器配…

数电实验之流水灯、序列发生器

最近又用到了数电实验设计的一些操作和设计思想&#xff0c;遂整理之。 广告流水灯 实验内容 用触发器、组合函数器件和门电路设计一个广告流水灯&#xff0c;该流水灯由 8 个 LED 组成&#xff0c;工作时始终为 1 暗 7 亮&#xff0c;且这一个暗灯循环右移。 1) 写出设计过…

MYSQL--JDBC优化

一.JDBC优化: 优化前提: 有时候我们并不清楚某些表当中一共有多少列,以及这些列的数据类型,这个时候我们就需要提前通过一些方法提前了解到这些数据,从而更好的进行输出 具体语句: package cn.jdbc;import java.sql.*;public class JDBCDEmo1 {public static void main(String…