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` 返回的是字符串中实际字符的个数。*/

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用AWS Lambda构建无服务器应用程序

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用AWS Lambda构建无服务器应用程序 AWS Lambda 简介 创建 AWS 账户 创建 Lambda 函数 配置触发器 编写和测试代码 示例代码&am…

如何在Word的表格中一次性插入多行?

当我们想在Word中的表格中一次性插入多行时&#xff0c;却发现内置的插入功能并没有插入行数选项。 此时我们只需要选择多行&#xff0c;例如&#xff0c;选择5行&#xff0c;以同样的步骤插入&#xff0c; 在下方就新增了5行。 同理&#xff0c;插入其他自定义行数。

【ACM出版,EI稳定检索,九大高校联合举办, IEEE Fellow支持】2024年计算机视觉与艺术研讨会(CVA 2024,11月29-12月1日)

大会官网&#xff1a;www.icadi.net (CVA为ICADI分会&#xff0c;网站沿用主会议&#xff1b;议程、出版将以主会为准&#xff09; 大会时间&#xff1a;2024年11月29-12月1日 大会地点&#xff1a;中国-天津 终轮截稿&#xff1a;2024年11月22号&#xff08;特殊情况联系会…

火山引擎VeDI数据服务平台:在电商场景中,如何解决API编排问题?

01 平台介绍 数据服务平台可以在保证服务高可靠性和高安全性的同时&#xff0c;为各业务线搭建数据服务统一出口&#xff0c;促进数据共享&#xff0c;为数据和应用之间建立了一座“沟通桥梁”。 同时&#xff0c;解决数据理解困难、异构、重复建设、审计运维困难等问题&#x…

网付碰一下支付系统功能分享来了!

随着碰一下支付代理骗局的持续曝光&#xff0c;越来越多的人都开始将目光转向了碰一下支付系统源码部署这一入局方式之上&#xff0c;使得这一项目愈加火爆的同时&#xff0c;也让网付等头部聚合支付公司成为了大家关注的焦点&#xff0c;连带着网付碰一下支付系统有哪些功能这…

ElasticSearch学习篇16_《检索技术核心20讲》进阶篇之空间检索

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243&#xff0c;文档形式记录笔记。 相关问题&#xff1a; 查询范围固定的需求 直接计算两点之间距离区域二进制编码GeoHash编码 查询范围不固定的需求 GeoHash编码索引结构设计 基于…

SSH详解

一、SSH 引入 在使用 https 协议访问我们的 Gitee 库的时候&#xff0c;如果我们想要克隆一个私有库&#xff0c;或者说想要使用 git push&#xff0c;我们都需要输入账户账号和密码&#xff0c;这样十分繁琐而且很不安全。 虽然我们可以使用 Git for Windows 的 Git Credent…

互联网大厂钟爱的压测工具分享,战绩可查!

双11来了&#xff0c;又到了一些互联网大厂技术团队疯狂&#xff08;~~加班&#xff09;~~备战的紧张时刻。 今天&#xff0c;为大家带来一期“互联网大厂亲测的压测工具分享”&#xff0c;并在结尾附上30天SaaS版免费体验&#xff01; 压力测试相比于监控而言&#xff0c;是…

mac-泛洪

泛洪攻击的类型 TCP SYN Flood&#xff1a; 攻击者向目标服务器发送大量的 TCP SYN 请求&#xff0c;但不完成握手过程。服务器为每个请求分配资源&#xff0c;最终可能耗尽其连接表&#xff0c;导致无法处理正常请求。 UDP Flood&#xff1a; 攻击者向目标发送大量的 UDP 数据…

【数据分享】1901-2023年我国省市县镇四级的逐年最高气温数据(免费获取/Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最高气温栅格数据和Excel和Shp格式的省市县镇四级逐月最高气温数据&#xff0c;原始的逐月最高气温栅格数据来源于彭守璋学者在国家青藏高原科学数据中心平台上分享的数据&#xff01;基于逐月数据我们采用求年平均值的方法得到逐年最高…

算法笔记:Day-09(初始动态规划)

509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 …

「Mac畅玩鸿蒙与硬件27」UI互动应用篇4 - 猫与灯的互动应用

本篇将带领你实现一个趣味十足的互动应用&#xff0c;用户点击按钮时猫会在一排灯之间移动&#xff0c;猫所在的位置灯会亮起&#xff08;on&#xff09;&#xff0c;其余灯会熄灭&#xff08;off&#xff09;。应用会根据用户的操作动态更新灯光状态和文本提示当前亮灯的位置&…

Python毕业设计选题:基于django+vue的4S店客户管理系统

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 员工信息管理 个人中心 车辆信息管理 售后服务管理 售后安排管理 车辆信…

优选算法精品——双指针

移动零 算法原理&#xff1a; 1.数组划分,数组分块 2.双指针算法 (利用数组下标来充当指针) 两个指针的作用: cur:从左往右扫描数组,遍历数组 dest:已处理的区间内,非零元素的最后一个位置 代码实现&#xff1a; cur 从前往后遍历的过程中: 1.遇到0元素:cur; 2.遇到 非零元…

音视频入门基础:FLV专题(22)——FFmpeg源码中,获取FLV文件音频信息的实现(中)

本文接着《音视频入门基础&#xff1a;FLV专题&#xff08;21&#xff09;——FFmpeg源码中&#xff0c;获取FLV文件音频信息的实现&#xff08;上&#xff09;》&#xff0c;继续讲解FFmpeg获取FLV文件的音频信息到底是从哪个地方获取的。本文的一级标题从“四”开始。 四、音…

一个由Deno和React驱动的静态网站生成器

大家好&#xff0c;今天给大家分享一个由 Deno React 驱动的静态网站生成器Pagic。 项目介绍 Pagic 是一个由 Deno React 驱动的静态网站生成器。它配置简单&#xff0c;支持将 md/tsx 文件渲染成静态页面&#xff0c;而且还有大量的官方或第三方主题和插件可供扩展。 核心…

已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘

部署GPTSoVITS过程中&#xff0c;开启一键三连进程发生&#xff0c;报错AsyncRequest object has no attribute _json_response_data 具体报错内容为 (GPTSoVITS) PS D:\Code\GPT-SoVITS-beta0706> python webui.py Running on local URL: http://0.0.0.0:9874 IMPORTANT:…

Chrome 130 版本开发者工具(DevTools)更新内容

Chrome 130 版本开发者工具&#xff08;DevTools&#xff09;更新内容 一、网络&#xff08;Network&#xff09;面板更新 1. 重新定义网络过滤器 网络面板获新增了一些过滤条件&#xff0c;这些过滤条件是根据反馈重新设计的&#xff0c;特定于类型的过滤条件保持不变&…

Java之包,抽象类,接口

目录 包 导入包 静态导入 将类放入包 常见的系统包 抽象类 语法规则 注意事项&#xff1a; 抽象类的作用 接口 实现多个接口 接口间的继承 接口使用实例 &#xff08;法一&#xff09;实现Comparable接口的compareTo()方法 &#xff08;法二&#xff09;实现Comp…

【linux】HTTPS 协议原理

1. 了解 HTTPS 协议原理 &#xff08;一&#xff09;认识 HTTPS HTTPS 也是一种应用层协议&#xff0c;是在 HTTP 协议的基础上引入了一个加密层 因为 HTTP协议的内容都是按照文本的方式进行传输的&#xff0c;这个过程中&#xff0c;可能会出现一些篡改的情况 &#xff08;…