<分区>
我有一个奇怪的问题。
iGhostLen 为-1,iMaxGhost 为 480。 但仍然是行 iGhostLen=iMaxGhost;被击中。
-1 是特例还是我哪里出错了。 我不认为 -1 大于 480。
谢谢。
unsigned int iMaxGhost=(120 * 4);
int iGhostLen=-1
if (iGhostLen > iMaxGhost)
{
iGhostLen=iMaxGhost;
}
标签 c++ if-statement
<分区>
我有一个奇怪的问题。
iGhostLen 为-1,iMaxGhost 为 480。 但仍然是行 iGhostLen=iMaxGhost;被击中。
-1 是特例还是我哪里出错了。 我不认为 -1 大于 480。
谢谢。
unsigned int iMaxGhost=(120 * 4);
int iGhostLen=-1
if (iGhostLen > iMaxGhost)
{
iGhostLen=iMaxGhost;
}
最佳答案
由于比较有符号和无符号整数,您应该收到编译器警告。将 unsigned int
更改为 int
,并阅读一些有关数字表示的内容。
关于C++ 比奇数大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349480/