Suppose, I have a if
statement inside a for
loop:
for( ; ; )
{
if( )
{
printf(" inside if");
break;
}//if
printf("inside for");
}//for
Now, will the break
statement cause the compiler to come out of the for
loop or will it only come out of the body of if
once the condition in the if
becomes satisfied?
The break
statement breaks out of the nearest enclosing loop or switch statement.
break
does not break out of an if
statement, but the nearest loop
or switch
that contains that if
statement. The reason for not breaking out of an if
statement is because it is commonly used to decide whether you want to break out of the loop
.
Interestingly, a telephone switch misbehaved because the company that invented C made exactly this bug. They wanted to break out of an if
statement and they forgot that it would break out of the entire for
statement.