当前位置:网站首页>【C语言】字符串、转义字符及注释
【C语言】字符串、转义字符及注释
2022-07-17 11:07:00 【Lixinze__】
目录
字符串
由双引号引起来的一串字符为字符串字面值,简称字符串。
char是字符类型,没有字符串类型。
但是字符串可以存储到字符数组中:
char arr[10] = "abcdef";以上开辟了7个字符的空间
[ ]中可以不填,自动根据后面字符串内容开辟相应空间
字符串的结束标志是一个\0 转义字符,在计算字符串长度时 \0 只作结束标志,不作字符串内容

arr2 中字符只占用了空间的一部分,之后还有很多字符,\0 是字符串的结束标志,所以要在空间后直至遇到\0才终止。
strlen 是求字符串长度的一个库函数,string length,头文件string。
strlen是用来获取字符串的有效长度的,结尾标记'\0'不包含在内。
strlen获取的规则非常简单:从前往后依次检测,直到遇到'\0'是就终止检测。
字符数组不是一个有效的字符串,因为后面没有放置'\0',因此strlen在求解时,将有效字符检测完之后,还会继续向后检测,直到遇到'\0'是才终止,因此不确定之后的第一个'\0'在什么位置。
转义字符
转义字符 | 释义 |
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\' | 用于表示字符常量 |
\“ | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符。 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个八进制的数字。 如: \130 X |
\xdd | dd表示2个十六进制数字。 如: \x30 0 |
\n
int main()
{
printf("abcn");
printf("abc\n")//换行符
return 0;
}\0
int main()
{
printf("abc0def")//打印abcdef
printf("abc\0def")//打印abc
return 0;
}
\?
//三字母词
//??) - ]
//??( - [
int main()
{
printf("%s\n","(are you ok??)")
//打印结果(are you ok]
printf("%s\n","(are you ok\?\?)")
//打印结果(are you ok??)
//当前编译器不支持三字母词
return 0;
}\'
int main()
{
printf("%c\n",''');//报错
printf("%c\n",'\'');//表示字符常量'
return 0;
}
\"\"
int main()
{
printf("abcdef");//只有字符串能直接简化打印
printf("a");//字符串里可以只有一个字符
printf(""");//报错
printf("\"");表示一个字符串内部的双引号
return 0;
}\\
int main()
{
printf("abcd\0ef");//打印结果abcd
printf("abcd\\0ef");//打印结果abcd\0ef
//表示一个反斜杠,防止它被解释为一个转义序列符。
printf("c:\test\test.c");//打印结果c: est est.c
printf("c:\\test\\test.c");//打印结果c:\test\test.c
//路径打印用\\
return 0;
}\a
int main()
{
printf("\a\a\a\a\a\a\a");
//警告字符,蜂鸣
return 0;
}\t
int main()
{
printf("abcd\tef");
//Tab = \t
return 0;
}\ddd
int main()
{
printf("%c\n",'\130');//ddd表示1~3个八进制的数字
//打印结果X,为130这个八进制转化为十进制的数字作为ASCII码值所代表的字符
return 0;
}字符\0 的 ASCII码值为0
字母大小写的 ASCII 码值相差32

\xdd
int main()
{
printf("%c\n",'\x60');
return 0;
}下面是打印数据的格式
//%d - 打印整形
//%c - 打印字符
//%s - 打印字符串
//%f - 打印float类型的数据
//%lf - 打印double类型的数据
//%zu - 打印sizeof的返回值注释
- 注释可以梳理思路
- 注释可以对复杂的代码解释
边栏推荐
- PTA 1037 change at Hogwarts
- Chapter 4 - first order multi-agent system consistency - > switching topology system consistency
- [fishing artifact] UI library second low code tool - form part (II) sub control
- 数组模拟队列
- The study found that DNA nano device injection can be safely used for medical purposes
- Chapter 4 - first order multi-agent system consistency - > switching topology system consistency [program code]
- 【C语言】数组知识点总结
- NPM usage
- Have you learned the database design pattern of multi tenant SaaS?
- mof定制材料|超薄MOF纳米带|磁性Fe3O4 @Cd-MOF纳米复合材料|ZIF-8/石墨烯复合纳米颗粒
猜你喜欢
![[C language] summary of array knowledge points](/img/82/f3b76650fe8390f8929b2d3134b01d.png)
[C language] summary of array knowledge points

FAW Toyota Asia lion's first product refresh

Anaconda and jupyter notebook entry level detailed tutorial

UiO-66-(COOH)2改性聚酰胺纳滤膜|ZIF-8/PVP复合纳米纤维膜|UiO-66-NH2改性聚酰胺纳滤膜

The inflection point of eth may be just around the corner, which is how to

金纳米粒子修饰MIL-101骨架材料(AuNPs/MIL-101)/负载COF-TpPa-1(Au NPs/COF-TpPa-1)|齐岳试剂

第十一章 STL 之 queue

氟改性UiO-66|3,4-二羟基苯甲醛改性UiO-66-NH2|喜树碱衍生物/寡肽@ZIF-8纳米载药体系

Chapter IX deque of STL

Chapter 4 - first order multi-agent system consistency - > switching topology system consistency
随机推荐
v-mode
[C language] storage of floating-point type in memory
浏览器的故事
Rhcsa the next day 7.15
【C语言】函数知识点总结
rhcsa 第二天 7.15
【摸鱼神器】UI库秒变低代码工具——表单篇(二)子控件
实验1:使用Matlab工具箱进行相机标定实验
565. Array nesting / Sword finger offer II 001 Integer division
Clwy authority management (II) -- user module
Chapter 4 - first order multi-agent system consistency - > continuous time system consistency with time delay [program code]
fiddler 重放攻击,简单的模拟重放攻击
Chapter 12 list of STL
TP5 判断请求方式
光辉使用输出
对文本实现分词以及绘制词云
[565. Array nesting]
Go exceed API source code reading (II) -- openFile ()
fastadmin with 和 filed 合用导致field失效
FAW Toyota Asia lion's first product refresh