B2109 统计数字字符个数
B2109 统计数字字符个数

#include <iostream>
using namespace std;
# include <string.h>
#include <ctype.h>
#include <algorithm>
int main(){
char str[256];
cin.getline(str,256);
//fgets(str,256,stdin);
int cnt = 0;
//for(size_t i = 0;i< sizeof(str);i++){
for(size_t i = 0;i< strlen(str);i++){
cnt +=isdigit(str[i]);
}
cout<<cnt;
}/*`sizeof` 和 `strlen` 在 C++ 中的确存在显著的区别。虽然 `sizeof` 的结果看似有时是个数,但它实际返回的是“字节长度”,而不是元素的数量,尤其在数组和字符串的场景中。以下是详细的解释:
### 1. **`sizeof` 的作用**
- **返回值**:`sizeof` 返回的是变量或类型在内存中占用的字节数。
- **作用对象**:可以用于任意数据类型(如基本数据类型、数组、结构体、类等)。
- **适用范围**:`sizeof` 是在编译时计算的,所以它的结果在编译期已知。
#### 示例
```cpp
int arr[10];
std::cout << sizeof(arr); // 输出 40(假设 int 是 4 字节)
```
这里 `sizeof(arr)` 的结果是 `40` 字节,因为数组 `arr` 包含 10 个 `int` 元素,而每个 `int` 占用 4 字节。因此 `sizeof(arr)` 返回 `10 * 4 = 40` 字节。
> 注意:对于数组,`sizeof` 返回的是数组的总字节数,并不是元素的个数(除非手动除以单个元素的大小)。在字符串场景中,`sizeof` 会包括字符串末尾的 `\0`。
#### 对字符串的影响
```cpp
char str[256];
std::cout << sizeof(str); // 输出 256
```
对于 `char str[256]`,`sizeof(str)` 返回的是整个字符数组的字节长度 `256`,而不是字符串的实际长度。这意味着即使字符串的内容长度是 10,`sizeof(str)` 依然返回 256,因为 `str` 的总空间大小是 256 字节。
### 2. **`strlen` 的作用**
- **返回值**:`strlen` 返回的是字符串的实际字符数(不包括末尾的 `\0`)。
- **作用对象**:仅用于 `char` 类型的字符串(C 风格字符串),且必须是以 `\0` 结尾。
- **适用范围**:`strlen` 是一个函数,它通过遍历字符串来确定字符个数,因此它的计算是在运行时进行的。
#### 示例
```cpp
char str[] = "Hello";
std::cout << strlen(str); // 输出 5
```
在这个例子中,`str` 实际包含的字符是 `H`, `e`, `l`, `l`, `o`,共 5 个字符,所以 `strlen(str)` 返回 `5`。这里不包括字符串末尾自动添加的 `\0`。
### 总结
- **`sizeof`**:返回的是变量或类型的总字节数,在数组中返回的是数组的全部内存大小(包括未使用的部分)。
- **`strlen`**:仅适用于 C 风格字符串,返回实际字符串内容的字符数,不包括终止符 `\0`。
所以,`sizeof` 返回的不是元素个数,而是总字节长度,而 `strlen` 返回的是字符串中实际字符的个数。*/
相关文章:
B2109 统计数字字符个数
B2109 统计数字字符个数 #include <iostream> using namespace std; # include <string.h> #include <ctype.h> #include <algorithm> int main(){ char str[256]; cin.getline(str,256); //fgets(str,256,stdin); int cnt 0; //for(size_t i 0…...
springboot Lark扫码登录
登录流程 测试通过的地址: https://open.larksuite.com/open-apis/authen/v1/index?app_idcli_a7add3c5bb38902f&redirect_urihttp%3A%2F%2Fstrongculture.cn&stateSTATE...
中专女生数赛疑云:阿里蒙冤,学校之过,尽显世态炎凉
11月3日,阿里巴巴全球数学竞赛组委会发布2024阿里巴巴全球数学竞赛有关情况说明:在本届竞赛中,江苏省涟水中等专业学校教师王某某和其指导的学生入围决赛,引发社会关注。根据决赛阅卷结果,二人未获奖。据调查了解&…...
【neo4j】 图数据库neo4j cypher单一语句 optional 可选操作的技巧
neo4j cypher单一语句 optional 可选操作的技巧 参考文章: Optional merge on relationships Cyper Merge on Optional Match 背景: 使用 match some node 中间还有一些可能与此node有联系的关系或者节点需要处理 create/merge/delete MATCH (src:SOU…...
ip地址分为几大类-IP和子网掩码对照表
一、IP地址的基本概念与分类 IP地址是用于在网络中标识每个设备的逻辑地址。互联网协议将IP地址分为A、B、C、D和E五类,其中A、B、C三类最常用,它们主要根据地址的首位位数以及用途进行划分。 A类地址: 范围:0.0.0.0 - 127.255.2…...
第四篇: 用Python和SQL在BigQuery中进行基础数据查询
用Python和SQL在BigQuery中进行基础数据查询 在大数据分析领域,Google BigQuery 提供了一种快速且经济高效的数据处理方式。对于想要使用SQL查询大规模数据的读者来说,BigQuery的公共数据集资源丰富、操作简便,是学习和实践SQL基础操作的理想…...
OpenCV中使用EdgeDrawing模块查找圆
从OpenCV4.5.2开始,Contrib模块中封装了开源库ED_Lib用于查找图像中的直线、线段、椭圆和圆。Github地址: https://github.com/CihanTopal/ED_Lib 算法原理简介: 边缘绘制(ED)算法是一种解决边缘检测问题的主动方法…...
C++在游戏领域的主要应用
1、C简介 C是一种通用的程序设计语言,其设计就是为了使认真的程序员工作得更愉快。除了一些小细节之外,C是C程序设计语言的一个超集。C提供了C所提供的各种功能还为定义新类型提供了灵活而有效的功能。程序员可以通过定义新类型,使这些类型与…...
基于SpringBoot的“CSGO赛事管理系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“CSGO赛事管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 赛事信息界面图 赛事通知界面…...
Web Broker(Web服务应用程序)入门教程(2)
1. Web 调度器(Web Dispatcher) 如果您使用的是 Web 模块,它就充当 Web 调度器的角色。如果您使用的是现成的数据模块,则必须向该数据模块中添加一个单一的调度器组件(Web.HTTPApp.TWebDispatcher)。调度器维护着一个动作项集合,这些动作项知道如何处理特定类型的请求消息…...
redis:list列表命令和内部编码
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令LPUSH 和 LPUSHXLRANGERPUSH 和 RPUSHXLPOP 和 RPOPLINDEXLINSERTLLENLREMLTRIMLSET阻塞版命令BLPOP 和 BRPOP 内部编码总结 前言 列…...
.Net Core Configuration用法
//在应用程序的任何地方注入 IConfiguration 来访问配置数据。ASP.NET Core 默认会加载 appsettings.json 文件 IConfiguration _configuration builder.Configuration; string connectionString _configuration["ConnectionStrings:SqlServerConnection"]; Hel…...
分享一些企业选择管理顾问公司的成功经验
为了在激烈的市场竞争中脱颖而出,许多企业开始寻求外部专业力量的支持,其中,企业管理顾问公司以其专业的知识、丰富的经验和独到的见解,成为了众多企业的得力助手。本文将分享一些企业在选择企业管理顾问公司过程中的成功经验&…...
「Qt Widget中文示例指南」如何实现窗口嵌入?
Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文中的示例主要演…...
企业CRM选型必看:2024年最佳CRM系统排行
企业用户在选择CRM系统时,不仅要考虑系统的功能性、可定制性,还要考虑其与现有工具的集成能力以及价格。此外,在2024年,越来越多的企业用户会把CRM厂商的AI能力列入考察范畴。 本文分析整理2024年最佳CRM系统排行榜,从…...
SQL入门的基础知识
思考 无论是干任何语言或者其他方向的开发,都会和我们的SQL去进行打交道 总结 学习SQL的原因:后面的实战案例需要用SQL,SQL是开发人员的必备技能 现在只需要学到满足后续案例需要,即简单增删改查,做一个入门即可 1.…...
JS渗透(安全)
JS逆向 基本了解 作用域: 相关数据值 调用堆栈: 由下到上就是代码的执行顺序 常见分析调试流程: 1、代码全局搜索 2、文件流程断点 3、代码标签断点 4、XHR提交断点 某通js逆向结合burp插件jsEncrypter 申通快递会员中心-登录 查看登录包…...
淘宝扭蛋机小程序,功能优势分析
随着潮玩文化的影响,扭蛋机作为潮玩的鼻祖,又再次成为了大众的“宠儿”。扭蛋机通过与多种IP结合,创造出各种元素的商品,为大众带来娱乐、收藏的新方式。我国潮玩市场规模正在大幅度的增长,将达到千亿元,发…...
Redis 数据备份与恢复
Redis 数据备份与恢复 引言 Redis 作为一种高性能的键值存储数据库,在许多应用场景中扮演着重要的角色。然而,数据的安全性是任何数据库系统都需要关注的问题。为了确保数据的安全和完整性,定期进行数据备份和掌握恢复策略是至关重要的。本文将详细介绍 Redis 数据备份与恢…...
CentOS9 Stream 设置禁用IPV6
CentOS9 Stream 设置禁用IPV6 方法 1: 修改 sysctl 配置方法 2: 使用 NetworkManager方法 3: 禁用内核参数验证 IPv6 是否禁用 在 CentOS 9 Stream 中,您可以通过以下步骤禁用 IPv6: 方法 1: 修改 sysctl 配置 编辑 sysctl 配置文件: 打开 /…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
