C语言字符数组与字符串操作详解
1. 一维字符型数组特性C语言中没有字符串类型操作和存储字符串需要通过字符型数组实现。字符型数组的定义数据类型 数组名[元素个数];元素个数必须为常量且必须足够确保能够存放下字符串末尾的\0字符。2. 数组元素访问以下是一个完整的数组输入、排序选择排序和输出的示例int a[5] {0}; int len sizeof(a) / sizeof(a[0]); int i 0; int j 0; int min 0; int tmp 0; for (i 0; i len; i) { scanf(%d, a[i]); } for (j 0; j len-1; j) { min j; for (i j1; i len; i) { if (a[i] a[min]) { min i; } } if (min ! j) { tmp a[j]; a[j] a[min]; a[min] tmp; } } for (i 0; i len; i) { printf(a[%d] %d\n, i, a[i]); } return 0;3. 字符型数组的存储字符型数组所占空间大小 数组元素个数。可以通过sizeof(a) / sizeof(a[0])来获得数组元素个数。4. 字符型数组的初始化初始化 ! 赋值全部初始化局部初始化没有给定初值的元素被初始化为0值。默认初始化尽量不要使用默认初始化。5. 字符串的打印printf %sputsputs会在字符串末尾多打印一个\n字符。char str[20]; str[0]; str[1]; str[2]; ... str[19];初始化示例char str[6] {h, e, l, l, o, \0}; char str[6] {hello}; char str[6] hello;局部初始化示例char str[6] {h, e, l}; char str[6] {hel}; char str[6] hel; char str[6] {0};注意0零对应二进制00000000等价于\0。\0反斜杠0对应二进制00000000等价于0。0字符0对应二进制00110000等价于48。省略元素个数初始化char str[] {h, e, l, \0}; char str[] {hel}; char str[] hel;打印示例char str[20] {hello world}; printf(str %s\n, str); puts(str);6. 字符串的接收scanf %sgetschar str[32] {0}; scanf(%s, str); gets(str);7. 字符型数组和字符串常见操作7.1 统计字符型数组中存放的字符串长度字符串长度从字符串开头到\0中间字符的个数。可以利用strlen来统计字符串长度。注意strlen统计字符串的长度。sizeof获得数组所占空间大小。char str[32] {hello}; int len 0; len strlen(str); len sizeof(str);7.2 字符串的拷贝注意目的空间一定要能够存放的下源字符串否则会内存越界访问。char str[32] {0}; strcpy(str, hello world);7.3 字符串的拼接注意目的空间一定要能够存放的下拼接后的字符串。char str1[32] {hello}; char str2[32] {world}; strcat(str1, str2);7.4 字符串的比较注意strcmp会返回3种值0表示两个字符串相等。 0第一个字符串 第二个字符串。 0第一个字符串 第二个字符串。字符串比较从左到右依次比较直到不相同的字符谁的 ASCII 码值大谁就大。ret strcmp(str1, str2);7.5 练习从终端接收一个字符串统计字符串的长度不能使用strlen来实现功能。从终端接收一个字符串统计该字符串中大写字母、小写字母、数字和空格的个数并完成打印。从终端接收一个字符串将该字符串拷贝到另一个数组空间中不能使用strcpy来实现功能。8. 二维整型数组8.1 数组定义行数、列数必须为常量。数据类型 数组名[行数][列数]; int a[2][3];8.2 数组元素的访问数组名[行下标][列下标]; a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2]8.3 数组的存储数组所占空间大小 数据类型所占空间大小 * 元素个数。二维数组存放顺序逐行从左到右存储。int a[2][3];8.4 二维数组的理解二维数组可以理解为由一维数组构成的一维数组。N维数组可以看成是由 N-1 维数组构成的一维数组。8.5 二维数组初始化全部初始化int a[2][3] {1, 2, 3, 4, 5, 6}; int a[2][3] {{1, 2, 3}, {4, 5, 6}};局部初始化默认初始化二维数组默认初始化行能省略列不能省略。9. 作业与练习作业1字符串操作不使用库函数从终端接收一个字符串统计字符串的长度不能使用strlen。从终端接收一个字符串将字符串拷贝到另外一个数组空间不能使用strcpy。从终端接收2个字符串实现2个字符串的拼接并完成打印不能使用strcat。从终端接收2个字符串实现2个字符串的比较并将比较的结果输出在终端不能使用strcmp。练习打印出所有的水仙花数这个数为3位数每位上的立方和值为该数本身。作业2博客。

相关新闻

JAVA德州酒吧小程序开发实战:从零搭建到部署全流程指南

JAVA德州酒吧小程序开发实战:从零搭建到部署全流程指南

JAVA德州酒吧小程序开发实战:从零搭建到部署全流程指南 当酒吧遇上“小程序社交游戏”,传统的酒水消费模式正在被颠覆。JAVA德州酒吧小程序开发不仅需要应对复杂的业务场景(桌位管理、骰子游戏、组局拼桌),更要在技术层…

2026/7/29 2:06:15阅读更多 →
跨设备远控软件有哪些?2026年全平台远程控制体验横评!

跨设备远控软件有哪些?2026年全平台远程控制体验横评!

目录前言跨设备远控软件有哪些?2026年全平台远程控制体验横评!跨设备远控的核心指标四款软件全平台实测ToDesk:跨设备兼容性最强的全能选手向日葵:硬件生态丰富,软件跨端体验有落差RustDesk:极客的自建方案…

2026/7/29 2:06:15阅读更多 →
DFRobot创客培训:从零入门开源硬件与图形化编程实践

DFRobot创客培训:从零入门开源硬件与图形化编程实践

1. 项目概述:一场面向未来的创客启蒙七月的无锡,空气里除了夏日的燥热,还弥漫着一股特别的“创造”气息。这不是一场普通的技能培训,而是一次以DFRobot(简称DF)生态为核心的创客深度体验。作为一名在创客教…

2026/7/29 2:04:15阅读更多 →
宠物综合服务平台哪家靠谱,社交种草带货联动托运

宠物综合服务平台哪家靠谱,社交种草带货联动托运

宠物综合服务平台哪家靠谱,社交种草带货联动托运 宠物行业消费场景早已从单一用品购买、单一托运服务,升级为内容种草、好物选购、活体托运、售后养护的一体化闭环消费模式。优质的宠物综合服务平台,核心竞争力不再是单一功能完整性&#xff…

2026/7/29 3:16:29阅读更多 →
宠物商城社交系统开发,托运购物订单合并结算架构

宠物商城社交系统开发,托运购物订单合并结算架构

宠物商城社交系统开发,托运购物订单合并结算架构 宠物商城社交系统涵盖宠物用品电商交易、用户社交分享、宠物托运履约等多元业务,用户经常同时产生实物商品采购与宠物托运服务需求。在传统系统架构中,商品购物订单与托运服务订单分属两套独立…

2026/7/29 3:16:29阅读更多 →
Python硬核面试题深度解析:从语言核心到性能优化

Python硬核面试题深度解析:从语言核心到性能优化

1. 项目概述:为什么我们需要“硬核”的面试题?最近几年,Python的热度居高不下,从数据分析、机器学习到自动化运维、Web开发,几乎每个技术栈都能看到它的身影。随之而来的,是市场上Python岗位的激增和求职竞…

2026/7/29 3:16:29阅读更多 →
AI 前沿日报 | 2026年07月28日

AI 前沿日报 | 2026年07月28日

1. Kimi K3 开源:2.8T MoE 模型与技术报告 Kimi 发布其最强模型 Kimi K3,这是一个 2.8T 参数的 MoE 模型,具备原生视觉理解和 1M token 上下文窗口。新架构实现了每单位计算 2.5 倍的智能提升。除模型权重外,Kimi 还开源了高性能注…

2026/7/29 3:16:29阅读更多 →
MATLAB常用函数清单:提升工程效率的100个核心工具

MATLAB常用函数清单:提升工程效率的100个核心工具

1. 为什么你需要一份“常用函数”清单?在MATLAB的日常使用中,无论是做算法仿真、数据分析还是图像处理,我们总会遇到一些似曾相识的需求:比如,怎么快速生成一个特定规律的矩阵?如何优雅地处理缺失的数据&am…

2026/7/29 3:16:29阅读更多 →
蜂鸣器驱动电路与PWM编程实战:从原理到STM32/Arduino应用

蜂鸣器驱动电路与PWM编程实战:从原理到STM32/Arduino应用

1. 从“滴滴”声到智能交互:蜂鸣器的前世今生如果你玩过任何一块单片机开发板,比如Arduino或者STM32,那么你对蜂鸣器发出的“滴滴”声一定不会陌生。它可能是你第一个成功运行的程序,点亮LED之后,紧接着就是让这个小东…

2026/7/29 3:14:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →