加载中…
个人资料
liht1634
liht1634
  • 博客等级:
  • 博客积分:0
  • 博客访问:223,741
  • 关注人气:58
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

C语言-转义字符\

(2016-08-26 20:01:40)
标签:

转义字符

分类: 编程类

问题:

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 = 换行

C语言-转义字符\

 

扩展:

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

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

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\\ 代表一个反斜线字符''\' 092
\' 代表一个单引号(撇号)字符 039
\" 代表一个双引号字符 034
\0 空字符(NULL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制

/ 和%%的转换说明及作为结果的打印输出:
%a            浮点数、十六进制数字和p-记数法(C99)

%A    浮点数、十六进制数字和p-记法(C99)

%c    一个字符

%d    有符号十进制整数

%e    浮点数、e-记数法

%E    浮点数、E-记数法

%f    浮点数、十进制记数法

%g    根据数值不同自动选择%f或%e.

%G    根据数值不同自动选择%f或%e.

%i               有符号十进制数(与%d相同)

%o    无符号八进制整数

%p    指针

%s    字符串

%u    无符号十进制整数

%x    使用十六进制数字0f的无符号十六进制整数

%X    使用十六进制数字0f的无符号十六进制整数

%%    打印一个百分号


0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有