0

关于 C 编程语言,转义序列的描述无法解析 Visual Studio 2008 中以下行的输出。

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

它只打印“bc”。
检查 str 指向的内存,我们可以发现它"??/a"的工作原理是"\a"

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

4

1 回答 1

1

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

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

MSDN

于 2015-02-26T15:32:39.813 回答