\ddd和\xddd 转义序列

转自  http://blog.csdn.net/todd911/article/details/8851475

书中有如下描述:

\ddd  ddd表示1~3个八进制数字,这个转义符表示的字符就是给定的八进制值所代表的字符

\xddd 与上例类似,只是八进制数换成了16进制数。

注意,任何十六进制数都有可能包含在\xddd序列中,但如果结果值的大小超过了表示的字符范围,其结果就是未定义。

问题:

为什么直说了\xddd呢,那\ddd,如果超过了表示字符的范围,会怎样呢。

于是做了如下测试:

[cpp] view plaincopy

  1. #include <stdio.h>
  2. int main(void){
  3. printf("\x123456\n");
  4. return 0;
  5. }

编译后报如下错误:

printf.c: In function ‘main‘:
printf.c:4:9: warning: hex escape sequence out of range [enabled by default]

运行后输出:

V

猜测计算机将\x1234看成了整体,因为超出了255,而无法显示,16进制的56在ascii中正好是V。

再进行如下测试:

[cpp] view plaincopy

  1. #include <stdio.h>
  2. int main(void){
  3. printf("\123456\n");
  4. return 0;
  5. }

编译无error

运行后结果为:

S456

其中8进制123在ascii中正好是S,456不进行翻译。

可见计算机对8进制和16进制的转义符处理时不一样的。

时间: 2024-11-02 17:25:09

\ddd和\xddd 转义序列的相关文章

awk转义序列与算术操作符

可以使用表达式来存储.操作和检索数据,这些操作与sed中的有很大的区别,但这是大多数程序设计语言所具有的共同特性. 一个表达式通过计算返回一个值.表达式由数字和字符串常量.变量.操作符.函数和正则表达式组成.我们在之前的文章中中详细介绍了正则表达式.在这一部分,我们将学习由常量.变量和操作符组成的表达式. 常量有两种类型:字符串型或数字型( "red"或1).字符串在表达式中必须用引号括起来.在字符串中可以使用在表7-1中列出的转义顺序. 转义序列 序列 描述 \a 报警字符,通常是A

Linux下图形化调试工具: kdbg, ddd

在linux下调试确实是个很麻烦的事, 用gdb调试不怎么方便, 没有在windows下用vs爽, 主要原因还是因为gdb是用命令行形式, 其实在linux下也有一些基于gdb的图形化调试工具. 1. kdbg ubuntu下 直接 sudo apt-get install kdbg 即可安装. 若启动后出现 MNG error 11: Function is invalid at this point; chunk MHDR; subcode 0:0 错误, 那么就删除 /usr/share/

我的“第一次”,就这样没了:DDD(领域驱动设计)理论结合实践

写在前面 插一句:本人超爱落网-<平凡的世界>这一期,分享给大家. 阅读目录: 关于DDD 前期分析 框架搭建 代码实现 开源-发布 后记 第一次听你,清风吹送,田野短笛:第一次看你,半弯新湖,鱼跃翠堤:第一次念你,燕飞巢冷,释怀记忆:第一次梦你,云翔海岛,轮渡迤逦:第一次认你,怨江别续,草桥知己:第一次怕你,命悬一线,遗憾禁忌:第一次悟你,千年菩提,生死一起. 人生有很多的第一次:小时候第一次牙牙学语.第一次学蹒跚学步...长大后第一次上课.第一次逃课.第一次骑自行车.第一次懂事.第一次和喜

DDD CQRS架构和传统架构的优缺点比较

明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概念.我个人也写了一个ENode框架,专门用来实现这个架构.CQRS架构本身的思想其实非常简单,就是读写分离.是一个很好理解的思想.就像我们用MySQL数据库的主备,数据写到主,然后查询从备来查,主备数据的同步由MySQL数据库自己负责,这是一种数据库层面的读写分离.关于CQRS架构的介绍其实已经非常

Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP

回到目录 .Net MVC之所以发展的如些之好,一个很重要原因就是它公开了一组AOP的过滤器,即使用这些过滤器可以方便的拦截controller里的action,并注入我们自己的代码逻辑,向全局的异常记录,用户授权,Url授权,操作行为记录等,这一大批Lind的基本组件都是实现MVC和API的过滤实现的,使用这些过滤让我们不用去像HttpModule和HttpHandler那样,还要在Config里配置注入点,让程序员在开发方式上感觉很舒服,维护成功很低! 本文主要内容点 Lind.DDD里的方

Lind.DDD.Domain.IOwnerBehavor对实体的意义

回到目录 对于Lind.DDD架构,我之前写了不少文章,对于它的Domain模式也介绍了不少,像之前的IEntity,ILogicDeleteBehavor,IModifyBehavor,IStatusBehavor和ISortBehavor都有自己的功能,只要实体实现对外的接口,就具有了某种特性或者某种功能,而今天主要说一下拥有者接口,IOwnerBehavor,它主要用在管理系统的实体中,如一个员工资产表,当这个员工离职后,它对应资产将被进行转移,转移到一个新的用户身上,而这个用户就是这个资

ddd

string dd = @"F:""\20160826\20160826\ddd.txt"; //当按钮点击的时候 就会执行这里面的代码 MessageBox.Show("Hello 北盟网校");

探讨DDD中角色权限与DCI的使用

本文初衷 之前在学习DDD的时候,一直被权限与角色困扰. 我们知道在Asp.net MVC 的Controller或Action加上特性标签[Authorize],就可以实现权限控制. [Authorize(Roles ="Manager")] public class MainController : Controller { // GET: Main public ActionResult Index() { return View(); } } 但是在应用层中,如何使用好角色?在

DDD领域驱动设计基本理论知识总结

领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章. 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD.领域驱动设计分为两个阶段: 以一种领域专家.设计人员.开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然后将这些概念设计成一个领域模型:由领域模型驱动软件设计,用代码来实现该领域模型: