What will be output of following c code?
#include<stdio.h>
int main()
{
static int i;
for(++i;++i;++i)
{
printf("%d ",i);
if(i==4) break;
}
return 0;
}
Detailed Explanation
Default value of static int variable in c is zero. So, initial value of variable i = 0
First iteration:
For loop starts value: ++i i.e. i = 0 + 1 = 1
For loop condition: ++i i.e. i = 1 + 1 = 2 i.e. loop condition is true. Hence printf statement will print 2
Loop incrimination: ++I i.e. i = 2 + 1 =3
Second iteration:
For loop condition: ++i i.e. i = 3 + 1 = 4 i.e. loop condition is true. Hence printf statement will print 4.
Since is equal to for so if condition is also true. But due to break keyword program control will come out of the for loop.
Discussion (0)
No comments yet. Be the first to share your thoughts!
Share Your Thoughts