为什么 min() 给出奇怪的结果?
Why is min() giving bizarre results?
2013年Visual Studio在调试一个程序的时候,我发现了一些奇怪的事情。在我使用 min() 的一个表达式中,出现了奇怪的值。在 VS 的 Immediate Window 中,我尝试这样做:
min(W, H)
35 '#'
W
291
H
682
呃-什么??这是什么解释?
min
将其输入视为 char
s。这就是为什么它在 35
旁边显示字符 '#'
的原因,因为 35 的 ascii 值是 #。您提供的数字超出了 char
的范围,因此它们正在换行。你真的在做 min(291%256, 682%256)
这是 min(35, 170)
这显然是 35
.
2013年Visual Studio在调试一个程序的时候,我发现了一些奇怪的事情。在我使用 min() 的一个表达式中,出现了奇怪的值。在 VS 的 Immediate Window 中,我尝试这样做:
min(W, H)
35 '#'
W
291
H
682
呃-什么??这是什么解释?
min
将其输入视为 char
s。这就是为什么它在 35
旁边显示字符 '#'
的原因,因为 35 的 ascii 值是 #。您提供的数字超出了 char
的范围,因此它们正在换行。你真的在做 min(291%256, 682%256)
这是 min(35, 170)
这显然是 35
.