请问 一个关于 数字转义序列的有关问题
请教 一个关于 数字转义序列的问题
c++和c一样提供 转义字符的表示方法。 例如 要输入 换行符命令, 则字符串中加入 \n 即可,这样的方法称为符号转义序列。但我看c++ primer plus(p49)中描述,转义序列同样可以用 数字转义序列。
我想问下 \n 的 ascii码是10 ,是不是 意味着 用 \10(或 \0xA)可以表示 换行符的数字转义序列啊? 为什么我用VC6.0不能是 \10(或 \0xA)实现换行啊,只能用 符号转义序列 \n 实现啊?
------解决方案--------------------
\0xxx: 八进制;
\x...... 十六进制.
c++和c一样提供 转义字符的表示方法。 例如 要输入 换行符命令, 则字符串中加入 \n 即可,这样的方法称为符号转义序列。但我看c++ primer plus(p49)中描述,转义序列同样可以用 数字转义序列。
我想问下 \n 的 ascii码是10 ,是不是 意味着 用 \10(或 \0xA)可以表示 换行符的数字转义序列啊? 为什么我用VC6.0不能是 \10(或 \0xA)实现换行啊,只能用 符号转义序列 \n 实现啊?
------解决方案--------------------
\0xxx: 八进制;
\x...... 十六进制.
- C/C++ code
#include <stdio.h> int main(void) { char cr = '\x0A'; printf("start\n"); cr = '\x0A'; printf("_%c", cr); cr = '\012'; printf("_%c", cr); printf("end\n"); getch(); return 0; }
------解决方案--------------------
因为不管是\10还是\010,都是8进制,"\"后面的数字转义只能是8或者16进制,而且16进制要这样表示:\xa
没有为什么,,,=3=就这么定义的...
\n==\12==\012==\xa==\xA
就这几个