You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

Do not use a semicolon on the same line as an if, for, or while statement because this typically indicates programmer error and can result in unexpected behavior.

Noncompliant Code Example

In this noncompliant code example, a semicolon is used on the same line as an if statement.

if (a == b); {
  /* ... */
}

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

Compliant Solution

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

if (a == b) {
  /* ... */
}

Applicability

Placing a semicolon on the same line as an if, for, or while statement may result in unexpected behavior.

Related Guidelines

ISO/IEC TR 24772:2010

"Likely Incorrect Expression [KOA]"

Bibliography

[Hatton 1995]

Section 2.7.2, "Errors of omission and addition"

  • No labels