Why is this loop always executing once?
C Interview Questions and Answers
(Continued from previous question...)
Why is this loop always executing once?
Q: Why is this loop always executing once?
for(i = start; i < end; i++);
{
printf("%d\n", i);
}
A: 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.
(Continued on next question...)
Other Interview Questions
|