这是为了防止问号被误解为三连符的一部分。 例如,在"What??!" "??!"会被解释为|字符,因此您需要如下转义问号:"What\?\?!" 以下是来自http://msdn.microsoft.com/en-us/library/bt0y4awe%28VS.80%29.aspx的示例。
"What?""?!"
(因为编译器将在预处理器查找(并未找到)三字母序列后连接文字。当使用数字转义后跟随数字时,打破字符串文字也很有用[e.g. 如果想要"Hello"
后面跟着一个零字节再跟着数字3,则可以使用"Hello\0""3"
。顺便说一下,对于?
,可以使用\x3F
跟随一个非十六进制数字,或者使用\077
。 - supercat