首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual 2008:字符串文字“?-”、“??”、"??=“损坏

Visual 2008:字符串文字“?-”、“??”、"??=“损坏
EN

Stack Overflow用户
提问于 2016-02-19 10:37:03
回答 1查看 56关注 0票数 2

最近,我在Visual 2008中遇到了一个bug (至少我认为它是一个bug)。

当我尝试用两个问号和另一个字符创建string-literals时,会发生一些奇怪的事情:这三个字符被另一个字符替换。

示例:

代码语言:javascript
复制
printf("??-"); --> ~  (hyphen)
printf("??'"); --> ^  (circumflex)
printf("??="); --> #  (hash)
printf("??)"); --> ]  (square braket)
printf("??("); --> [  (square braket)
printf("??/"); --> \  (backslash)
printf("??!"); --> |  (pipe)
printf("??%"); --> ?? (percent sign disappears)

有人知道更换的原因吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-19 10:42:02

这不是虫子,更像是历史的遗留物。它们是C三角图- https://msdn.microsoft.com/en-us/library/bt0y4awe.aspx

Di/Tri-图是一种表示语言开发时不容易获得的字符的方法。它们允许您在源代码中输入符号,这些符号可能没有键盘键来表示。

代码语言:javascript
复制
Tri-graph Symbol
??=       #
??/       \
??'       ^
??(       [
??)       ]
??!       |
??<       {
??>       }
??-       ~

%问题只是printf中通常的一个问题,如果您希望看到它,您需要用%来转义%。这是因为%通常是格式说明符的开始。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35503196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档