The syntax of a for loop in C programming language is:
for ( init; condition; increment )
{
statement(s);
}
-
Here is the flow of control in a for loop:
-
The init step is executed first, and only once. This step allows you to declare and initialize any loop control variables. You are not required to put a statement here, as long as a semicolon appears.
-
Next, the condition is evaluated. If it is true, the body of the loop is executed. If it is false, the body of the loop does not execute and flow of control jumps to the next statement just after the for loop.
-
After the body of the for loop executes, the flow of control jumps back up to the increment statement. This statement allows you to update any loop control variables. This statement can be left blank, as long as a semicolon appears after the condition.
-
The condition is now evaluated again. If it is true, the loop executes and the process repeats itself (body of loop, then increment step, and then again condition). After the condition becomes false, the for loop terminates.
-
In First Case:
initseti = 1conditon– herei = 1which istruein c. (Post increment increases the value after execution of statment)body– executesprintf("%d",i);increment–i<100which is not affecting the value ofi.
Now In C for all values from 1 to infinity, its value is true, hence executing infinetly
In Second Case
initseti = 0conditon– herei = 0(again Post Increment) which isfalsein c, therefore theloopgets exit.
Hence it is not executing even once.
Flow diagram of For Loop :
solved what happens when increment counter and test counter are interchanged in for-loop syntax? [closed]
