当前位置: 首页 > news >正文

字符数组以及字符串相关的几个函数

一.字符数组

1.定义:格式如下

char a[10];  //此处就表示定义了一个长度为10的字符数组

2.引用:

也和其余的数组一样,是下标引用。

3.初始化:

如下代码为字符数组初始化的几种情况:

int main()
{char arr[5] = { 'a','b','c','d','e'};char arr[] = { 'a','b','c','d','e' };//与上面的等价char arr[10] = { 'a','b','c','d','e' };//如果{}中的元素个数小于[]内的值,其余的默认为为 '\0'char arr[2][3] = { {'a','b'},{'d','e','f'}};//二维数组也同理
}

二.字符串

1.数组的形式来写字符串,如下:

char  ch[ ] = { "hello“ } ;//此处该数组的长度应该为6,这是因为字符串后面会自动添加一个'\0'

三.字符数组输入输出和字符串处理函数

2.字符数组的处理

(1)逐个字符输入和输出。本质上和普通的数组一样,也可以利用循环语句来输入,此处不再赘述。

(2)整个字符串的输入,输出:可以使用 %s 来输入。如下:

char ch[10];

scanf_s("%s",ch);

printf("%s",ch);

需要注意的是,在输入字符串的时候,空格和回车都相当于字符串的分隔符,不能被读入

3.字符串处理函数:

(1)gets函数,gets 函数的作用就等同于 scanf_s("%s",ch); 具体格式如下:

gets(数组名称);    //值得注意的是,使用gets函数的时候可以输入任意的字符,回车键停止,()内可以是数组名或者指针

(2)puts函数同理...

(3)strlen函数。(求字符串的长度)具体如求数组arr的长度:

strlen(arr);//需要头文件 #include<string.h>

(4)strcpy函数。(字符串复制函数)具体如将str1中的字符转化为str2中的值:

strcpy(str1,str2);//需要保证str1的长度足够大,其真实的含义是:将str2中的字符串内容(包含‘\0’)复制到到str1中,返回的是str1的地址值。

(5)stract函数。(字符串连接函数)如将arr1连接到arr2后面:

stract(arr2,arr1);//在连接的时候arr1会自动覆盖arr2后面的‘\0’

(6)strcmp函数。(字符串比较函数)如比较arr1和arr2的大小:

strcmp(arr1,arr2);//指的是将两个字符串从左到右的每一个字符比较ASCII码值,知道出现'\0'或者不相等为止。如果arr1>arr2,返回正整数;如果arr1<arr2,返回负整数;如果arr1=arr2,返回0

http://www.lryc.cn/news/350272.html

相关文章:

  • AOP面向切面编程
  • C# WinForm —— 15 DateTimePicker 介绍
  • SpringBoot中六种批量更新Mysql 方式效率对比
  • 【SpringBoot】SpringBoot整合jasypt进行重要数据加密
  • 【Go语言入门学习笔记】Part1.梦开始的地方
  • 数据特征降维 | 主成分分析(PCA)附Python代码
  • 当服务实例出现故障时,Nacos如何处理?
  • 遥感数据集制作(Potsdam数据集为例):TIF图像转JPG,TIF标签转PNG,图像重叠裁剪
  • 根据web访问日志,封禁请求量异常的IP,如IP在半小 时后恢复正常则解除封禁
  • 2.go语言初始(二)
  • MQTT对比HTTP
  • 暴力数据结构之二叉树(堆的相关知识)
  • 死锁调试技巧:工作线程和用户界面线程
  • 蓝桥杯-外卖店优先级(简单写法)
  • VueRouter使用总结
  • Flink checkpoint 源码分析- Checkpoint snapshot 处理流程
  • Leaflet.canvaslabel在Ajax异步请求时bindPopup无效的解决办法
  • Go 处理错误
  • python读取excel数据写入mysql
  • flutter日期选择器仅选择年、月
  • 素数筛详解c++
  • 【Python超详细的学习笔记】Python超详细的学习笔记,涉及多个领域,是个很不错的笔记
  • TINA 使用教程
  • weblogic 任意文件上传 CVE-2018-2894
  • 我的第一个网页:武理天协
  • 机器学习笔记 KAN网络架构简述(Kolmogorov-Arnold Networks)
  • 基于网络爬虫技术的网络新闻分析(二)
  • Java--初识类和对象
  • SpringBoot如何实现动态数据源?
  • win10安装mysql8.0+汉化