Do not use a semicolon on the same line as after an if, for, or while statement condition because this it typically indicates programmer error and can result in unexpected behavior.
In this noncompliant code example, a semicolon is used on the same line as immediately following an if statement. condition:
| Code Block |
|---|
|
if (a == b); {
/* ... */
}
|
The statements in the apparent body of the if condition statement are always evaluated irrespective regardless of the result of the condition expression.
This compliant solution eliminates the semicolon and ensures that the body of the if construct statement is executed only when the condition expression is true.:
| Code Block |
|---|
|
if (a == b) {
/* ... */
}
|
Applicability
Placing a semicolon on the same line as immediately following an if, for, or while statement condition may result in unexpected behavior.
Related Guidelines
Automated Detection
ISO/IEC TR 24772:2010 | "Likely Incorrect Expression [KOA]"
Bibliography
Section 2 omission addition
...
Image Modified
Image Modified
Image Modified