C语言字符数组与字符串操作详解
📅 2026/7/29 2:06:15
👁️ 次浏览
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德州酒吧小程序开发不仅需要应对复杂的业务场景(桌位管理、骰子游戏、组局拼桌),更要在技术层…
📅 2026/7/29 2:06:15
目录前言跨设备远控软件有哪些?2026年全平台远程控制体验横评!跨设备远控的核心指标四款软件全平台实测ToDesk:跨设备兼容性最强的全能选手向日葵:硬件生态丰富,软件跨端体验有落差RustDesk:极客的自建方案…
📅 2026/7/29 2:06:15
技术选型年度复盘:2026年最值得投资的5个技术基础设施一、选型框架:基础设施投资的"四维评估法"
技术基础设施选型不同于业务功能选型——选错的影响会随系统规模放大。一个好的基础设施应该满足四个标准。稳定性——在极端负载下不会成为单点…
📅 2026/7/29 2:05:14
每到暑假、寒假,不少同学都会遇到同样的问题:作业不会做、课本看不懂、英语单词记不住、作文不知道怎么写。原本计划利用假期好好学习,可真正开始时,却发现不知道从哪里学起。这时候,一款适合自己的学习软件࿰…
📅 2026/7/29 4:46:32
一、前言民营企业家、企业创始人择校EMBA,普遍面临核心痛点:市面项目同质化严重,传统商科课程滞后于AI、数字化产业变革,国际项目水土不服、国内项目视野受限,难以匹配企业出海、数字化升级、团队管理进阶的真实需求。…
📅 2026/7/29 4:46:32
1. 项目概述:从手动“苦力”到脚本“自动化”的蜕变如果你经常和数据打交道,尤其是面对成百上千个格式相似的文本文件,需要从中提取特定信息,比如日志文件里的时间戳、CSV文件里的第三列数据、或是配置文件中的某个参数值…
📅 2026/7/29 4:46:32
1. 从“听说”到“通过”:我的华为OD C/C开发岗闯关心得最近身边不少朋友和学弟学妹都在打听华为OD(Outsourcing Development)的面试情况,尤其是C/C开发岗。作为去年成功上岸的“过来人”,我完整走完了从机考到技术面试…
📅 2026/7/29 4:46:32
不少企业盘点时都会撞上同一个尴尬:账面上赫然在列的设备,实物早已不知去向。问起来,往往是"早就报废拆掉了,没人走手续"。一台价值几万的设备,就这么悄无声息地从账上"消失",又从实物…
📅 2026/7/29 4:46:32
1. 项目缘起:从一堆线缆和接口开始的困惑最近在调试一个工业控制设备,手头拿到一块主控板,上面赫然印着“RS422”的接口标识,旁边清晰地标注着A、B、Y、Z四个信号引脚。而另一端,需要连接上位机的,是一个标…
📅 2026/7/29 4:45:32
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/28 7:13:45
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/28 17:14:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/28 5:13:40