在探索一些C代码时,我发现使用无符号long变量的比较小于零。这样做的目的是什么?冗余?当您为UL分配一个负值时,它将是一个很大的正数,因此该语句将始终为false。

在代码的其他部分,变量daeSleep被分配为-1,但它只是FFFF FFFF不小于0的数字。Coverity不喜欢这种比较,因为无论如何它始终为false。

unsigned long daeSleep;
if(daeSleep < 0)
    daeSleep = 0;

最佳答案

或者他炫耀,就像(1)左右一样,他选择了始终为假的条件来操纵循环和if

关于c - Unsigned Long与现有库中的负值相比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48451495/

10-11 23:13