C Interview Questions and Answers

 

Why is this loop always executing once?

Why is this loop always executing once?



for(i = start; i < end; i++);



{



printf("%dn", i);



}







The accidental extra semicolon hiding at the end of the line containing the for
constitutes a null statement which is, as far as the compiler is concerned, the
loop body. The following brace-enclosed block, which you thought (and the indentation
suggests) was a loop body, is actually the next statement, and it is traversed exactly
once, regardless of the number of loop iterations.

Posted by:Richards