gpt4 book ai didi

c++ - 为什么要比较 Unsigned Int >= 0 a "Pointless Comparison"?

转载 作者:IT老高 更新时间:2023-10-28 21:53:56 24 4
gpt4 key购买 nike

我收到警告:

Pe186 "Pointless comparison of unsigned int with zero"

当我尝试编译以下代码时:

for(clLoop = cpLoopStart; clLoop >= 0; clLoop--)                                  
{
//Do something
}

我不明白为什么。我可以理解,如果我正在寻找一个 小于 零的值,因为 unsigned int 永远不会是负数。但我在这里寻找的只是它是否 等于 为零,unsigned int 当然可以。

如果在这个循环中我尝试预先递减而不是后递减,我什至可以看到这个错误,但事实并非如此。

最佳答案

您检查 unsigned int 是否大于或等于 (>=) 零。这个表达式永远为真,因为无符号整数永远不会小于零。

编译器会尝试警告您将要编写一个无限循环。

关于c++ - 为什么要比较 Unsigned Int >= 0 a "Pointless Comparison"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com