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"
FIO14-J. Use an int to capture the return value of functions that read a character or byte 12. Input Output (FIO) 13. Input Validation and Data Sanitization (IDS)