首页 > 其他分享 >字符串及转义字符

字符串及转义字符

时间:2024-08-14 09:25:10浏览次数:8  
标签:字符 打印 char 转义字符 arr2 字符串

字符串

在c语言中

形如‘a'  ’b'  ‘c' 等单个字母被命名为字符常量

而形如“abcdef”等则被命名为字符串

在c语言中,有整形,单精度浮点数,字符数据类型

但却没有字符串类型

所以在初始化字符串时与初始化字符相同

列:char ch=’w‘

      char arr[10]

尤为注意的是在[  ] 中可以不写或写大,不可写小

在c语言语法中规定\0是字符串的结束标志

而打印字符串用

printf(“%s\n”,arr);

那么为社么说\0是字符串的结束标志呢?

不妨看下面的一串代码

#define   _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	char arr1[100] = "abcde";
	char arr2[100] = { 'a','b','c','d','e' };
	printf("%s\n", arr1);
	printf("%s\n", arr2);



	return 0;
}

得到的arr1和arr2的结果截然不同,原因就是出于此处

arr2没有\0即在打印过程中会打印字符常量后面的内容,直至出现下一个\0

而字符串默认会附带\0

由此我们可知\0在字符串中非常重要

转义字符

转义字符作为c语言的基础在代码的书写过程中经常应用

下面我便列下几个常用的转义字符,在应用中记住

\’用于表示字符常量‘

\“用于表示一个字符内部的双引号

\\用于表示一个反斜杠,防止它们被解释为一个转义序列符

\n换行

\r回车

\t水平制表符

\ddd    ddd表示1-3个八进制的数字

\xdd     dd表示2个16进制数字

如上即是较为重要的转义字符

还有一些不是很重要的

类如

\? 在连续书写多个?中使用,防止他们被解析成三字母词

而在原来的一些编译器中

??)的意思为]

那么如何解决呢?

只需要写成

\?\?)

即为??)

很神奇吧

还有一个很重要的

空格也算字符!

接下来再扩展一些打印符号

%d    打印整形

%c    打印字符

%s     打印字符串

%f    打印float类型的数据

%lf    打印double类型的数据

%zu    打印size of类型的数据

标签:字符,打印,char,转义字符,arr2,字符串
From: https://blog.csdn.net/Xian_haichi/article/details/141165635

相关文章

  • 格式化字符串漏洞
    一、格式化字符串漏洞原理格式化字符串是一种很常见的漏洞,其产生根源是printf函数设计的缺陷,即printf()函数并不能确定数据参数arg1,arg2…究竟在什么地方结束,也就是说,它不知道参数的个数。它只会根据format中的打印格式的数目依次打印堆栈中参数format后面地址的内容格式字......
  • 字符串算法
    KMP算法前言update2024.7.31今天重写了一篇KMP板子,之前是蒟蒻(现在也是),写的都是什么鬼,甚至没过模板题。感觉KMP优化没什么用,但是暂时保留吧。简介用模式串匹配文本串(主串)。对于一个模式串,找出每个位置的border(最长相等的前缀后缀),即为\(next\)数组。失陪时就跳到bord......
  • USB协议详解第8讲(USB描述符-字符串和语言ID描述符)
    1.字符串描述符相关概念字符串描述符:首先,字符串描述符就是用字符串描述一个设备的一些属性,毕竟人能看懂的是字符,而不是十六进制,描述的属性包括设备厂商名字、产品名字、产品序列号、各个配置名字、各个接口名字,还有就是由我们用户自己定义的字符串,说白了就是起名字,让人们一看就知......
  • C语言入门零基础:9、字符串
    一、字符串定义    1、字符串和字符数组的区别:        字符数组存任意数组都可以,它可以以任何字符结尾;        字符串需要使用字符数组来存,但是结束必须要有一个'\0'字符;        只有字符串才能用双引号定义 ......
  • 每天深解一个字符串类函数之strstr函数
    目录前言:一、引用头文件二、strstr函数的作用三、理解strstr函数的定义1、返回类型2、参数 四、使用strstr函数1、编写程序2、调试运行五、注意要点 六、模拟实现前言:每天深入了解一个字符串类函数,今天我们要学习的是strstr函数,相信你学玩之后会对字符串......
  • 【C总集篇】第三章 字符串和格式化输入/ 输出
    文章目录第三章字符串和格式化输入/输出字符/字符串简要理解前言字符介绍和使用数组的简单介绍数组的创建格式字符串介绍和使用printf函数printf函数一般格式printf()的转换说明修饰符printf函数部分格式字符常用格式字符详解%d%f%c%sprintf的返回值scanf规则说明转......
  • 转义字符及例子
    转义字符简单来说就是转变原来字符的意思文章目录转义字符1.转义字符例子2.常用转义字符总览3.常用转义字符及例子3.1\?3.2\’3.3\“小拓展:3.4\\\3.5\a3.6\n3.7\r3.8\t3.9\ddd3.10\xdd1.转义字符例子1.例子代码用换行符来举例子#include<stdio.h>......
  • c++ 字符串转 整形
    目前有两种string 转整形的方式std::atoi(constchar*);std::stoi(conststd::string);atoi()是c语言风格,而stoi()是c++11标准库中新增的函数两者的区别在atoi()的参数是constchar*,所以我们必须将字符串的类型从string转换为constchar类型才能够转换为int。str......
  • hdu7462-字符串【SAM,二分】
    正题题目链接:https://acm.hdu.edu.cn/showproblem.php?pid=7462题目大意你有一个由\(a,b\)组成的字符串\(s\)。有\(m\)个操作:询问有多少个本质不同的串\(t\)使得\(s[l,r]\)是\(t\)的子串且两个串在\(s\)中的出现次数相同。询问有多少个本质不同的串\(t\)......
  • 字符串查找 - 模拟实现strstr 、BF算法 、 KMP算法
    文章目录前言一、模拟实现库函数strstr二、BF算法三、KMP算法总结前言路漫漫其修远兮,吾将上下而求索。一、模拟实现库函数strstrTips:此处采用利用指针+字符串末尾'\0'的判断,当然你可以利用数组的下标;库函数strstr的原型:char*strstr(constchar*str1,......