C Programming - Control Instructions - Discussion
Discussion Forum : Control Instructions - Find Output of Program (Q.No. 13)
13.
What will be the output of the program?
#include<stdio.h>
int main()
{
int x=1, y=1;
for(; y; printf("%d %d\n", x, y))
{
y = x++ <= 5;
}
printf("\n");
return 0;
}
Discussion:
46 comments Page 5 of 5.
Yash said:
1 decade ago
At first when x=1 and y=1 then the for loop condition is true then why there is no 1 1 in the output. I think in the result there is also 1 1 there.
I think the result will be :
1 1
2 1
3 1
4 1
5 1
6 1
7 0
Why the result is not like that? Please explain.
I think the result will be :
1 1
2 1
3 1
4 1
5 1
6 1
7 0
Why the result is not like that? Please explain.
Ranjana said:
1 decade ago
Because x got post incremented at each step.
Pavani said:
1 decade ago
Incremented x value must be less than 5. How could it become 6 and x?
Shankra said:
1 decade ago
Thanks panchanana raut.
Ggf said:
1 decade ago
@yash.
You are wrong as per for loop rule first initialize then condition check then move over increment.
You are wrong as per for loop rule first initialize then condition check then move over increment.
Teja said:
1 decade ago
@pavani.
Incremented x value must be <=5 and we are using post increment. So before executing inc/dec in for loop body will be executed first.
Incremented x value must be <=5 and we are using post increment. So before executing inc/dec in for loop body will be executed first.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers