Error[8]: Undefined offset: 131, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

文章目录

一. 字符串

由双引号括起来的一串字符就是字符串 如:“abc”、“a”、"" //空字符串

注:字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。


以下代码结果是什么?

int main()
{
	char ch1[] = { "yyh" };
	char ch2[] = { 'y', 'y', 'h' };
	char ch3[] = { 'y', 'y', 'h', '}' ;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:\test8\test.c"));xxxxxx

|
|
|
|
|
|
|
|
答案是14。




我们把红色的看成一个(转义)字符,就刚好是14.
这里有个易错点:
很多人会把\628当成一个八进制的转义字符,而8却不是个二进制数,所以\62是一个(转义)字符。


三. 注释

注释的两种风格:
C语言风格的注释 /[+++]/ 缺陷:不能嵌套注释

C++风格的注释 //xxxxxxxx 可以注释一行也可以注释多行

平时自己写代码的时候也要多养成写注释的好习惯。


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
C语言笔记_C_内存溢出

C语言笔记

C语言笔记,第1张

文章目录
    • 一. 字符串
    • 二. 转义字符
    • 三. 注释

一. 字符串

由双引号括起来的一串字符就是字符串 如:“abc”、“a”、"" //空字符串

注:字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。


以下代码结果是什么?

int main()
{
	char ch1[] = { "yyh" };
	char ch2[] = { 'y', 'y', 'h' };
	char ch3[] = { 'y', 'y', 'h', '}' ;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:\test8\test.c"));xxxxxx

|
|
|
|
|
|
|
|
答案是14。




我们把红色的看成一个(转义)字符,就刚好是14.
这里有个易错点:
很多人会把\628当成一个八进制的转义字符,而8却不是个二进制数,所以\62是一个(转义)字符。


三. 注释

注释的两种风格:
C语言风格的注释 // 缺陷:不能嵌套注释

C++风格的注释 //xxxxxxxx 可以注释一行也可以注释多行

平时自己写代码的时候也要多养成写注释的好习惯。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/564352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-06
下一篇 2022-04-06

发表评论

登录后才能评论

评论列表(0条)

保存