Why this matters
Using == or != in loop termination conditions can lead to infinite loops due to floating-point precision errors or unexpected comparisons. Prefer relational operators (<, >) instead.
Ensure that relational operators (<, >) are used instead of equality operators (==, !=) in loop termination conditions.
Using == or != in loop termination conditions can lead to infinite loops due to floating-point precision errors or unexpected comparisons. Prefer relational operators (<, >) instead.
Side-by-side examples engineers can pattern-match during review.
for (int i = 1; i != 10; i += 2) // Noncompliant. Infinite; i goes from 9 straight to 11.
{
//...
}for (int i = 1; i <= 10; i += 2) // Compliant
{
//...
}From the same buckets as this rule.
Check if loops use equality operators (== or !=) in termination conditions. These can lead to infinite loops if the condition is never met exactly. Instead, use relational operators like < or > for safer loop termination.