08-C语言学习-字符串数组,二维整形数组
两个if两个if互不干扰并行判断if与else if只会触发其中一个一维字符型数组C语言没有字符串型数据操作和存储字符串要使用字符型数组来进行。定义数据类型 数组名[元素个数] { }; char str[] hello world\0,需要12个有一个空格和\0元素个数必须为常量元素数量必须足够确保能够存下字符串末尾的\0字符。数组元素的访问char str[20]; char str[12];str[0]; str[0] h;str[1]; str[1] e;... ...str[19]; str[11] \0;\0不需要输入默认会存数组的存储初始化char str[] hello world; 默认初始化根据定义的字符个数1分配空间不建议使用// 数组长度自动为12h e l l o w o r l d \0char str[12] hello world;char str[12] {h,e,l,l,o, ,w,o,r,l,d,\0};char str[12] {hello world};char str[6] {0};字符串清0可以存其他的了不带以及!先定义、后续逐个下标赋值剩余空间是垃圾不会自动产生 \0定义时大括号初始化没写的元素自动置 0(不是字符是二进制0恰巧的是\0的二进制也是0)只要要当作字符串使用% s、strlen、strcpy必须确保存在 \0不能赌内存巧合。字符串的打印printf(%s);持续逐个字节输出直到读到 \0 才停止。缺少 \0 → 内存越界字符数组无 \0 → % s 高危传入指针指向的内容中途出现 \0输出被截断puts()会在字符串末尾多打印一个\n字符注意以上只能打印字符串不能打印整形数组整形数组依然要用for循环赋值同整形数组赋值一个一个来接收char str[32] {0};scanf(%s, str); //字符串接收不需要加取地址符,scanf接收字符串自带循环//接收不到空格scanf认为空格是结束的标志gets(str); //以回车为结束。gets() 读到换行 \n 时直接丢弃换行不会存入缓冲区末尾自动补上 \0。fgets(字符串名, 数组大小, stdin); *会保存回车*fgets(str, sizeof(str), stdin); //stdinstandard input标准输入流输入设备默认键盘stdin 标准输入 → 键盘程序读数据stdout 标准输出 → 屏幕程序打印数据printf 默认 stdoutstderr 标准错误 → 屏幕打印报错信息strlen(); //统计字符串中字符的数量 (使用需要引入新的头文件string.h)返回无符号longsizeof(); //统计字符串所占空间的大小与定义有关返回无符号int\0常作为终止符号SACII为0二进制的0不同与字符00的ASCII码为48本身可以使用for循环对字符串进行遍历读取出但无法在终端中显示出(不是空格或换行是完全不显示)char str[] abc\0123;printf(%s, str); // 只输出 abcprintf(长度%zu, strlen(str)); // strlen只算到第一个\0结果3%s、strlen、strcpy 等字符串工具遇见第一个 \0 直接终止后面内容失效char s1[] abc\0123; // 中间1字节ASCII 0截断%schar s2[] abc\\0123; // \ 和 0 两个普通字符不会截断\\用于输入反斜杠符号键盘输入无法输入\0会被识别为\与0对应\\与0字符串中插入\0只能单个赋值。strcpy(); //字符串拷贝函数strcpy(目标字符串源字符串名);//目标字符串定义的大小一定要源因为strcpy会不断将源所有字符赋值到目标如果源字符串长度 ≥ 目标数组容量会越界写入破坏内存。strcpy(dest, src);// 一直复制到 \0不限制长度容易溢出strncpy(dest, src, size);// 最多复制size个字节// 注意如果size耗尽还没读到\0dest末尾**不会自动追加\0**strcat(); //字符串拼接strcat(目标要拼接的内容)内容可以为字符串变量名或字符串strcat(str, str2);strcat(str, worlsd);注意目的空间一定要存放的下拼接后的字符串。字符串的比较 strcmp();strcmp(str1,str2); //比较两个数组中的字符串是否一样\0之前的值而不是字符串的大小结果3种值(有符号int)0 两个字符串相同大于0的值表示第一个字符串大于第二个字符串小于0的值表示第一个字符存小于第二个字符串从左到右比较两个字符串的字符直到ASCII码不同第一个字符码减去第二个字符码并返回二维整形数组数组定义由一维数组构成的一维数组一维数组的一维数组数据类型 数组名[行数][列数]行数列数必须为常量初始化全部初始化int a[2][3] {1,2,3,4,5,6};int a[2][3] {{1,2,3},{4,5,6}};局部初始化int a[2][3] {1,2,3,4}; 局部初始化没有给的值为0int a[2][3] {{1,2},{4}}; 同上int a[2][3] {0};或{{0}}默认初始化, 可以不写行但必须写列int a[][3] {1,2,3,4,5,6}; 2行3列int a[][3] {1,2,3,4}; 2行3列int a[][3] {{1,2},{4}}; 2行3列定位赋值数组名[行标][列标] n使用内嵌双for循环对二维数组进行遍历for 行{for 列{语句块可以接收数据scanf(),需要取地址符}}单一性连续性有序性从左到右从上到下先行后列

相关新闻

固定资产管理系统技术演进解析:台账架构、标签打印、盘点模式、维保体系与信创迭代史

固定资产管理系统技术演进解析:台账架构、标签打印、盘点模式、维保体系与信创迭代史

固定资产管理系统的迭代,核心是从「财务账务导向」向「实物全生命周期管控导向」的技术重构,涵盖台账架构、标签打印机制、资产盘点模式、维保运维体系、部署架构、国产化适配多维度升级。早期固定资产管控依赖财务软件附属模块,台账结构固化…

2026/7/29 6:40:49 阅读更多 →
雅思笔试取消?打字慢的我该怎么解决

雅思笔试取消?打字慢的我该怎么解决

雅思笔试取消?打字慢的我该怎么解决 雅思笔试逐步取消、全面转向机考,已经成为不少考生绕不开的现实。曾经靠"手写快、字迹工整"拿高分的策略正在失效,取而代之的是屏幕阅读与键盘输入能力。对于习惯纸笔作答的同学来说&#xff0…

2026/7/29 6:40:49 阅读更多 →
机器学习入门实战:从Python环境搭建到线性回归、决策树、聚类算法完整指南

机器学习入门实战:从Python环境搭建到线性回归、决策树、聚类算法完整指南

很多同学想学机器学习,但一上来就被各种复杂概念和代码劝退。其实机器学习入门并没有想象中那么难,关键是要找到一条清晰的路径,从环境搭建到核心算法,一步步打通整个学习链路。这篇文章将带你用最直接的方式完成机器学习从0到1的…

2026/7/29 6:40:49 阅读更多 →

最新新闻

Python脚本运行全解析:从命令行到IDE,掌握核心方法与避坑指南

Python脚本运行全解析:从命令行到IDE,掌握核心方法与避坑指南

1. 项目概述:从“跑起来”开始刚接触Python那会儿,我踩的第一个坑不是语法,而是怎么让写好的代码“跑起来”。你可能会觉得这有什么难的,双击不就行了?但现实是,一个简单的hello.py文件,在不同的…

2026/7/29 6:52:54 阅读更多 →
MCP 2.0安全规范深度解读:5项新审计项与合规实践指南

MCP 2.0安全规范深度解读:5项新审计项与合规实践指南

1. 项目概述:当MCP 2.0安全规范成为智能网联汽车的“新交规”最近和几个负责车联网安全的老朋友聊天,大家不约而同地提到了一个词:MCP 2.0。这感觉就像几年前大家突然开始讨论等保2.0一样,一个新的、更严格的安全框架正在成为行业…

2026/7/29 6:52:54 阅读更多 →
创客教育:从动手实践到核心素养培养的路径探索

创客教育:从动手实践到核心素养培养的路径探索

1. 从“玩”到“学”:创客精神如何重塑教育内核最近几年,如果你走进一些学校的科技节,或者关注过青少年科创大赛,会发现一个很有意思的现象:孩子们捣鼓的东西,不再是简单的航模或者手抄报,而是会…

2026/7/29 6:52:54 阅读更多 →
Windows系统下Python-PCL编译安装全攻略:从环境配置到点云处理实战

Windows系统下Python-PCL编译安装全攻略:从环境配置到点云处理实战

1. 项目概述:为什么要在Windows上折腾Python-PCL?如果你正在处理三维点云数据,无论是来自激光雷达、深度相机还是三维重建算法,那么PCL(Point Cloud Library)这个名字你一定不陌生。它被誉为点云处理的“瑞…

2026/7/29 6:52:54 阅读更多 →
数字IC设计中的无毛刺时钟切换电路:原理、实现与工程实践

数字IC设计中的无毛刺时钟切换电路:原理、实现与工程实践

1. 从一道面试题说起:为什么时钟切换不能有毛刺?最近在准备数字IC设计的面试,或者是在做项目时,你很可能遇到过这样一个经典问题:设计一个无毛刺的时钟切换电路。这几乎是“手撕代码”环节的常客,从实习生到…

2026/7/29 6:52:54 阅读更多 →
Arduino按键自锁与状态机实现:从消抖到稳定状态切换

Arduino按键自锁与状态机实现:从消抖到稳定状态切换

1. 项目概述:从物理开关到逻辑锁存在玩Arduino的初期,我们最常接触的输入设备可能就是那个小小的轻触按键了。按下去导通,松开就断开,这种“非自锁”的特性,简单直接,但也带来了一些麻烦。比如你想做一个灯…

2026/7/29 6:51:53 阅读更多 →

日新闻

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

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

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

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻