Step 1:
int i = 0; here variable
i is an integer type and initialized to '0'.
Step 2:
for(; i<=5; i++); variable
i=0 is already assigned in previous step. The semi-colon at the end of this
for loop tells, "there is no more statement is inside the loop".
Loop 1: here
i=0, the condition in for(; 0<=5; i++) loop satisfies and then
i is incremented by '1'(one)
Loop 2: here
i=1, the condition in for(; 1<=5; i++) loop satisfies and then
i is incremented by '1'(one)
Loop 3: here
i=2, the condition in for(; 2<=5; i++) loop satisfies and then
i is incremented by '1'(one)
Loop 4: here
i=3, the condition in for(; 3<=5; i++) loop satisfies and then
i is increemented by '1'(one)
Loop 5: here
i=4, the condition in for(; 4<=5; i++) loop satisfies and then
i is incremented by '1'(one)
Loop 6: here
i=5, the condition in for(; 5<=5; i++) loop satisfies and then
i is incremented by '1'(one)
Loop 7: here
i=6, the condition in for(; 6<=5; i++) loop fails and then
i is not incremented.
Step 3: printf("%d", i); here the value of i is 6. Hence the output is '6'.
Discussion & Comments