在Visual Studio 2013中调试程序时,我发现了一些奇怪的东西。在我使用min()的一个表达式中,出现奇怪的值。在VS的立即窗口中,我试试这个:
min(W, H)
35 '#'
W
291
H
682
DUH-什么?对此有何解释?
答案 0 :(得分:2)
min
将其输入视为char
s。这就是为什么它显示'#'
旁边的字符35
,因为ascii值为35是#。您提供的数字超出char
的范围,因此它们正在包装。您实际上min(291%256, 682%256)
min(35, 170)
35
,显然是{{1}}。