发布时间:2023-05-05 19:00
由双引号括起来的一串字符就是字符串 如:“abc”、“a”、\"\" //空字符串
注:字符串的结束标志是一个\\0的转义字符,在计算字符串长度的时候 \\0 是结束标志,不算作字符串内容。
以下代码结果是什么?
int main()
{
char ch1[] = { \"yyh\" };
char ch2[] = { \'y\', \'y\', \'h\' };
char ch3[] = { \'y\', \'y\', \'h\', \'\\0\' };
printf(\"%s\\n\", ch1);
printf(\"%s\\n\", ch2);
printf(\"%s\\n\", ch3);
return 0;
}
|
|
|
|
|
|
|
|
结果是:
可以看出’\\0’的作用是结束字符串,
而计算字符串长度时不算’\\0’。
下图是几种常见的转义字符:
下面我用代码来演示几个重要的转义字符:
int main()
{
//\'\\n\'的演示
char ch1[] = \"abcdef\";
char ch2[] = \"abcd\\nef\";
printf(\"%s\\n%s\\n\", ch1, ch2);
//打印单引号\'
printf(\"%c\\n\", \'\\\'\');
//打印双引号\"
printf(\"%s\\n\", \"\\\"\");
//打印c:\\code\\test.c
// \"//\"的用法
printf(\"%s\\n\", \"c:\\\\code\\\\test.c\");
return 0;
}
|
|
|
|
|
|
|
|
运行结果为:
还有特殊的转义字符:
\\ddd:ddd表示1~3个八进制的数字。 如: \\130 X
\\xdd: dd表示2个十六进制的数字。 如: \\x30 0
用一道易错的题目来理解一下:
//输出的结果是什么?
printf(\"%d\", strlen(\"c:\\test\\628\\test.c\"));
|
|
|
|
|
|
|
|
答案是14。
我们把红色的看成一个(转义)字符,就刚好是14.
这里有个易错点:
很多人会把\\628当成一个八进制的转义字符,而8却不是个二进制数,所以\\62是一个(转义)字符。
注释的两种风格:
C语言风格的注释 /xxxxxx/ 缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx 可以注释一行也可以注释多行
平时自己写代码的时候也要多养成写注释的好习惯。
java基础巩固-宇宙第一AiYWM:为了维持生计,手写RPC01~Version01整起
小白兔快开门,我是你爸爸。WEB安全基础入门—访问控制漏洞和权限提升
Scaled-YOLOv4: Scaling Cross Stage Partial Network 论文翻译
从傅里叶级数(Fourier series)到离散傅里叶变换(Discrete Fourier transform)
1人工智能概述------机器学习算法分类 (监督学习、回归问题、分类问题、无监督学习、半监督学习、强化学习)
吃透SpringBoo的这些t知识,你就已经超过90%的Java面试者了