C语言精选——选择题Day39
第一题
1. 有下面的定义,则 sizeof(s) 为多少?
char *s = "\ta\017bc";
A:9
B:5
C:6
D:7
答案及解析 C
本题涉及到了转义字符
\t 是水平制表符,算一个字节
\017 是表示八进制数,算一个字节;
末尾有个隐藏的 \0 ,算一个字节
所以1 + 1 + 1 + 2 + 1 = 6字节;

第二题
2. 下面是对s的初始化,其中不正确的是( )
A:char s[5]={"abc"};
B:char s[5]={'a','b','c'};
C:char s[5]=" ";
D:char s[5]="abcdef";
答案及解析 D
ABC正确
A会被转换为 char s[5] = {'a', 'b', 'c', '\0', '\0'};
B同A转换的一样
C也是,第一个是空格,后面都是 \0
D:错误,明显的越界。
第三题
3. 对于下面代码段,下面的语句中正确的是?
const char * const name = " Chen ";
A:name[3]='a';
B:name="lin";
C:name=(char*)malloc(sizeof(char));
D:printf("%c\n", name[3]);
答案及解析 D
首先要明确const在* 的前后修饰的意义是不同的
const在*前,修饰的是指针指向的对象不可被修改
而const在*后面则修饰的指本身不可以被修改
所以本题const都有,表示指针不可以被修改的同时指针指向的内容也不可以被修改;
ABC都是错误的,A是修改内容,BC都是修改指针的指向,C是让指针指向新开辟的空间;
D正确,是输出,没有对指针本身或者指向的内容做出改变;
第四题(好题)
4. 运行下面程序的输出结果是()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void MallocMem(char* pc)
{pc = (char*) malloc (100);return;
}int main()
{char *str=NULL;MallocMem(str);strcpy(str,"hello ");strcat(str, "world");printf("%s",str);return 0;
}
A:hello world
B:程序编译错误
C:程序运行时崩溃
D:其他几项都不对
答案及解析 C
首先我们来分析一下这个程序,先定义了一个字符指针str,初始化为空指针,然后作为一个参数传入了MallocMem这个函数,进入这个函数之后开辟了一段空间;
但是我们需要注意的是什么?这里传入的实参,是str本身,然而形参是实参的一份临时拷贝,对形参的改变不会影响我们的实参,所以虽然开辟了空间,让pc指针指向了这段空间,但是对str没有任何改变,而在MallocMem函数结束的时候,形参pc就销毁了,虽然空间还在,因为是从堆上申请的空间,不会因为函数的结束而销毁,只会在整个程序结束自动销毁;
这里插个题外话,我们在使用malloc 的时候,一定要主动去释放空间,养成好习惯;
所以我们重点要知道str依旧是个空指针,对空指针进行strcpy的操作,不会在编译这里报错,因为编译只是检查语法的错误,一定是在运行的时候出现错误,对空指针的解引用会报错,因为没有给str分配内存,所以程序会崩溃;所以如果我们要想让str指向新开辟的空间,需要传str的地址,C++可以传引用来解决。
第五题
5. 下面的语句是否正确?
char str[80];
str="abcdefg"
A:正确
B:错误
答案及解析 B
首先数组名是一个指针常量,类型是const 类型,数组名不可以被修改;
其次为什么可以char str[50] = "abcdefg";因为这是开辟数组空间的同时,给每个字符数组的元素都初始化了,建立在栈区的;
而题中的是我开辟了空间,但是没有初始化;而数组名是属于指针常量,char * const类型的,不可以被修改;
相关文章:
C语言精选——选择题Day39
第一题 1. 有下面的定义,则 sizeof(s) 为多少? char *s "\ta\017bc"; A:9 B:5 C:6 D:7 答案及解析 C 本题涉及到了转义字符 \t 是水平制表符,算一个字节 \017 是表示八进制数&#…...
React 笔记 jsx
严格约定:React 组件必须以大写字母开头,而 HTML 标签则必须是小写字母。 React JSX JSX 是由 React 推广的 JavaScript 语法扩展。 用于表达组件的 特殊语法的 js 函数 要求标签必须闭合;返回的组件必须包裹在一个父标签内; …...
QMenu风格设计qss+阴影
Qt的菜单经常在软件开发中用到,默认的菜单效果都不符合设计师的要求,本篇介绍QMenu菜单的风格设计,包括样式表和阴影。 1.QMenu样式表的设计 首先看一个默认的菜单 void QGraphicsDropShadowEffectDemo::slotShowDialog() {qDebug() <&l…...
temu防窒息警示语贴哪里
防窒息警示语标签的位置选择是确保消费者在购买和使用产品时能够注意到潜在窒息风险的重要一环。本文将为您介绍一些关于防窒息警示语标签贴在哪里的建议,以帮助您选择合适的位置。 先给大家推荐一款拼多多/temu运营工具——多多情报通 多多情报通是拼多多的生意参…...
Maven——坐标和依赖
Maven的一大功能是管理项目依赖。为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础——坐标。将详细分析Maven坐标的作用,解释其每一个元素;在此基础上,再介绍如何配置Maven&…...
Python中事务的常见用法
在Python中,可以使用数据库连接对象来执行事务操作。以下是一些常见的 Python 中事务的用法: 开始事务 要开始一个事务,你需要获取数据库连接对象,并调用其 begin() 或 start_transaction() 方法来开启一个事务。例如࿰…...
蛮力法最大值连续子序问题
概念: 在一个给定的整数数组中找到一个连续的子序列,使得子序列的元素之和最大 思路: 遍历所有可能的子序列,计算它们的和。 在每次计算过程中,记录当前最大的子序列和。 返回最大的子序列和作为结果。 代码: #include <iostream> #…...
多功能智能遥测终端机 5G/4G+北斗多信道 视频采集传输
计讯物联多功能智能遥测终端机,全网通5G/4G无线通信、弱信号地区北斗通信,多信道自动切换保障通信联通,丰富网络接口及行业应用接口,支持水利、环保、工业传感器、控制终端、智能终端接入,模拟量/数字量/信号量采集&am…...
1.查看表的基本结构,表的详细结构和修改表名
查看表的基本结构,表的详细结构和修改表名 1.查看数据表基本结构 有强迫症或健忘症的小伙伴们在建好数据库和表以后,通常会怀疑自己刚才是不是敲错了,怎么办?如果不是使用图形界面是不是就没法查看啦? 不存在的,这就…...
Mybatis实用教程之XML实现动态sql
系列文章目录 1、mybatis简介及数据库连接池 2、mybatis中selectOne的使用 3、mybatis简单使用 4、mybatis中resultMap结果集的使用 Mybatis实用教程之XML实现动态sql 系列文章目录前言1. 动态条件查询2. 动态更新语句3. 动态插入语句4、其他标签的使用 前言 当编写 MyBatis 中…...
混合App开发实现页面跳转(更新中)
util.js /*** 这个函数被用来获取 URL 中的查询参数,并将它们以对象(键值对)的形式返回* param {string} url* returns {object} oParams*/ export function getUrlQuery(url null) {let sUrl url || window.location.href;let oParams {…...
【FPGA】Verilog:BCD 加法器的实现
0x00 XOR 运算在 2 的补码加减法中的应用 2 的补码加减法的特点是,当从某个数中减去负数时,将其转换为正数的加法来计算,并将减去正数的情况转换为负数的加法来计算,从而将所有减法运算转换为加法运算。在这种情况下,…...
机器学习第15天:GBDT模型
☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 GBDT模型介绍 Boosting 残差 GBDT的缺点 python代码实现 代码 模型参数解释 结语 GBDT模型介绍 GBDT(Gradient Boos…...
STM32F407-14.3.9-01输出比较模式
输出比较模式 此功能用于控制输出波形,或指示已经过某一时间段。 当捕获/比较寄存器与计数器之间相匹配时,输出比较功能: ● 将为相应的输出引脚分配一个可编程值,该值由输出比较模式(TIMx_CCMRx 寄存器中的 OCxM⑦…...
LeetCode题:174. 地下城游戏
目录 一、题目要求 二、解题思路 (1)状态表示 (2)状态转移方程 (3)初始化dp表 (4)填表顺序 (5)返回值 三、代码 一、题目要求 174. 地下城游戏 恶魔们…...
CSS、JS文件无法正确加载至页面问题与解决
目录 1. 问题出现 2. 分析与解决 3. 总结 1. 问题出现 自己在写项目是时候,想启动浏览器查询首页面index.jsp的显示效果 预期效果应该是下面这样的: 但是实际上是这样的: 意思也就是说可能是关于CSS、JS相关的引入方面出了问题ÿ…...
ftp的服务安装配置
安装 yum install -y vsftpd # 是否安装成功 rpm -qa | grep vsftpd # 是否开机启动 systemctl list-unit-files | grep vsftpd # 开机启动 systemctl enable vsftpd.service # ftp端口 netstat -antup | grep ftp # 状态 service vsftpd status service vsftpd start service…...
原码,补码,反码(极简版)
原码补码反码 都有符号位,0表示正数,1表示负数 正数 正数的原码,补码,反码都相同 负数 负数的原码,最高位是1,其余的用正常二进制表示 负数的反码,对原码进行符号位不变,其余位…...
uniapp监听wifi连接状态
在uniapp中检测WiFi连接状态可以使用uni的API进行操作。 uni.onNetworkStatusChange((res) > { console.log(res)uni.getConnectedWifi({success: function(res) {console.log(已连接WIFI, res);},fail: function(err) {console.log(未连接WIFI, err);}}); }) 此函数将返回…...
2023年总结和2024年展望(以ue为主攻)
2023年就要过去了,总结下: 先说好的地方 1,pbr材质集成到了osg中,加上直接光和间接光。终于知道pbr咋回事了。光线追踪的视频也跟着敲了一个。 2,得到了认可。拿到了半年奖,leader让我明年和架构师一起进行…...
Raspberry Pi Imager终极指南:快速上手树莓派系统安装
Raspberry Pi Imager终极指南:快速上手树莓派系统安装 【免费下载链接】rpi-imager The home of Raspberry Pi Imager, a user-friendly tool for creating bootable media for Raspberry Pi devices. 项目地址: https://gitcode.com/gh_mirrors/rp/rpi-imager …...
Hash-Buster未来展望:AI驱动的智能哈希破解技术
Hash-Buster未来展望:AI驱动的智能哈希破解技术 【免费下载链接】Hash-Buster Crack hashes in seconds. 项目地址: https://gitcode.com/gh_mirrors/ha/Hash-Buster Hash-Buster作为一款高效的哈希破解工具,目前已支持MD5、SHA1、SHA256等多种哈…...
Workerman-todpole 部署实战:Linux/Windows 环境配置与优化技巧 [特殊字符]
Workerman-todpole 部署实战:Linux/Windows 环境配置与优化技巧 🚀 【免费下载链接】workerman-todpole HTML5WebSocketPHP(Workerman) , rumpetroll server writen using php 项目地址: https://gitcode.com/gh_mirrors/wo/workerman-todpole Wo…...
Veil-Evasion项目演进与替代方案:从Veil-Evasion到Veil 3.0的迁移指南
Veil-Evasion项目演进与替代方案:从Veil-Evasion到Veil 3.0的迁移指南 【免费下载链接】Veil-Evasion Veil Evasion is no longer supported, use Veil 3.0! 项目地址: https://gitcode.com/gh_mirrors/ve/Veil-Evasion 🚨 重要通知:V…...
5分钟解锁B站大会员4K视频下载!这个开源工具让你轻松收藏任何B站内容
5分钟解锁B站大会员4K视频下载!这个开源工具让你轻松收藏任何B站内容 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在…...
光通信风口已至:芯片巨头加码,产业链满产满销,光进铜退成必然趋势?
英伟达聚焦光通信,产业链投入持续加码今年3月份的英伟达GPU技术大会上,英伟达创始人黄仁勋用了相当长的篇幅谈及光通信。这是因为,英伟达最新一代GPU架构中,芯片之间通过NVLink协议互联,双向带宽达到1.8TB/s。数据中心…...
告别‘鬼影重重’:ENVI Pixel Based Mosaicking工具处理无坐标影像的完整流程与色彩均衡技巧
告别‘鬼影重重’:ENVI Pixel Based Mosaicking工具处理无坐标影像的完整流程与色彩均衡技巧 在遥感影像处理领域,影像镶嵌是基础却至关重要的环节。当面对多源、无坐标的影像数据时,传统的地理参考镶嵌工具往往束手无策,而ENVI的…...
Casdoor开源统一身份认证平台:基于OAuth 2.0与OIDC的SSO实战指南
1. 项目概述:一个开源的统一身份认证与单点登录平台如果你正在为多个内部系统各自独立的登录入口而头疼,或者厌倦了为每个新应用重复开发用户注册、登录、权限管理这些“轮子”,那么 Casdoor 这个项目绝对值得你花时间深入了解。简单来说&…...
为什么你的电脑风扇总是“抽风“?3个简单步骤彻底解决Windows风扇控制难题
为什么你的电脑风扇总是"抽风"?3个简单步骤彻底解决Windows风扇控制难题 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://git…...
独立开发者利用Taotoken Token Plan套餐实现个人项目的长期成本规划
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者利用Taotoken Token Plan套餐实现个人项目的长期成本规划 对于独立开发者或小型工作室而言,运营多个集成大语…...
