带有转义序列的 visual studio 2008 的奇怪行为

Strange behaviour of visual studio 2008 with escape sequence

关于 C 编程语言,转义序列的描述不解析 visual studio 2008 中以下行的输出。

char * str = "??/abc";
printf( "%s", str );

它只打印 "bc"。
查看str指向的内存,我们可以发现"??/a"作为"\a"

工作

在 google 上搜索我们找不到与 "??/" 被视为反斜杠相关的任何内容。

为了扩展 AProgrammer 的评论,C 为键盘缺少某些字符的人定义了一组三字母组。这些以“??”开头,后跟另一个字符。特别是,'??/' 是 '\' 的三字母。

这个翻译是在编译过程的早期完成的,所以编译器只看到'\a'。

MSDN