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); {
/* ... */
}
Compliant Solution
It is likely, in this example, that the semicolon was accidentally inserted.
if (a == b) {
/* ... */
}
Automated Detection
Klocwork can detect violations of this rule with the SEMICOL checker. See Klocwork Cross Reference
Bibliography
[Hatton 95] Section 2.7.2, "Errors of omission and addition"
[ISO/IEC PDTR 24772] "KOA Likely Incorrect Expressions"
[MITRE 07] CWE ID 480, "Use of Incorrect Operator"