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) {
/* ... */
}
Related Guidelines
CERT C Secure Coding Standard: EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
Bibliography
[Hatton 1995] Section 2.7.2, "Errors of omission and addition"
EXP14-C. Beware of integer promotion when performing bitwise operations on integer types smaller than int 03. Expressions (EXP) EXP16-C. Do not compare function pointers to constant values