Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Do not use a semicolon after an if, for, or while condition because this it typically indicates programmer error and can result in unexpected behavior.

Noncompliant Code Example

In this noncompliant code example, a semicolon is used immediately following an if condition.:

Code Block
bgColor#FFcccc
if (a == b); {
  /* ... */
}

The statements in the apparent body of the if statement are always evaluated irrespective regardless of the result of the condition expression.

Compliant Solution

This compliant solution eliminates the semicolon and ensures that the body of the if statement is executed only when the condition expression is true.:

Code Block
bgColor#ccccff
if (a == b) {
  /* ... */
}

Applicability

Placing a semicolon immediately following an if, for, or while condition may result in unexpected behavior.

Related Guidelines

Automated Detection

ToolVersionCheckerDescription
PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V6063
SonarQube
Include Page
SonarQube_V
SonarQube_V
EmptyStatementUsageCheck

ISO/IEC TR 24772:2010

"Likely Incorrect Expression [KOA]"


Bibliography

[Hatton 1995]

Section 2

§2.7.2, "Errors of

omission

Omission and

addition

Addition"


...

Image Modified Image Modified Image Modified