转义字符\

问题:

char p[]="\xb2"给p赋值之后,p中的值到底是什么?

我动态的得到一个十六进制数之后怎么赋值给一个字符串变量?比如获得的是b2,则char p[]="\xb2",当获得的是e2时,则char p[]="\xe2"

回答:

例1

\x表示你后面的数字是16进制的数字。

char p[]="\xb2"给p赋值之后,p中的值到底是什么?

p中值取决于16进制数字b2换算为10进制后的大小,比如说
b2为31,换算为10进制后为49,即代表数字1。

例2

#define ATE0_CMD "ATE0\x00D\x00A"

\x00D,十六进制的D转换为十进制为13,\x00A对应十进制的10,与ASCII码表对应就知道

\x00D,即CR = carriage = 回车
\x00A,即LF = line feed = 换行

\x00D,即CR = carriage = 回车
\x00A,即LF = line feed = 换行

 

扩展:

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

所有的转义字符和所对应的意义:

永不止步步 发表于12-22 10:06 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:308217个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号