C Programming - Declarations and Initializations - Discussion
Discussion Forum : Declarations and Initializations - Find Output of Program (Q.No. 7)
7.
What is the output of the program
#include<stdio.h>
int main()
{
int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%d\n", i);
return 0;
}
Answer: Option
Explanation:
Since x < y turns to be TRUE it is replaced by 1. Then 1 < z is compared and to be TRUE. The 1 is assigned to i.
Discussion:
37 comments Page 3 of 4.
Deepak said:
1 decade ago
@Sai.
i=((30<20)<5); //in this (30<20) is false so it is assigned 0.
i=(0<5); //in this (0<5) is true so it is assigned 1.
i=1;
False=0, True=1
i=((30<20)<5); //in this (30<20) is false so it is assigned 0.
i=(0<5); //in this (0<5) is true so it is assigned 1.
i=1;
False=0, True=1
Sai said:
1 decade ago
int main()
{
int x = 30, y = 20, z = 5, i;
i = x <y <z;
printf("%d\n", i);
return 0;
}
Please explain this program.
{
int x = 30, y = 20, z = 5, i;
i = x <y <z;
printf("%d\n", i);
return 0;
}
Please explain this program.
Shivaji said:
1 decade ago
i=x,y,z;
Because it is
Just like below..
i=x;
y;
z;
Because it is
Just like below..
i=x;
y;
z;
Palak agrawal said:
1 decade ago
Yaa anyone tell the reason in above program. Why it is 10 not 20 or 30?
Xyz said:
1 decade ago
Thanks wikiok your explanation helped me to understand the answer.
Krishna said:
1 decade ago
Why it is 10 not 20 or 30?
Naveen said:
1 decade ago
#include<stdio.h>
int main()
{
int x = 10, y = 20, z = 5, i;
i = x,y,z;
printf("%d\n", i);
return 0;
}
If you try the above code
step 1: = is having highest priority than ,
step2: i=10 will be initalized
step3: , operater will travell form left to right
So the out put will be 10.
int main()
{
int x = 10, y = 20, z = 5, i;
i = x,y,z;
printf("%d\n", i);
return 0;
}
If you try the above code
step 1: = is having highest priority than ,
step2: i=10 will be initalized
step3: , operater will travell form left to right
So the out put will be 10.
Naveen said:
1 decade ago
#include<stdio.h>
int main()
{
int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%d\n", i);
return 0;
}
step 1: In the above code < is having highest priority and = is having priority next to <
step 2: < symbol have left associate,so it will finish all the things with <
step 3: = is having next priority so values get into i
i=1.
int main()
{
int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%d\n", i);
return 0;
}
step 1: In the above code < is having highest priority and = is having priority next to <
step 2: < symbol have left associate,so it will finish all the things with <
step 3: = is having next priority so values get into i
i=1.
Swetha said:
1 decade ago
Can you explain in depth? why it is replacing with 1?
Nikhil said:
1 decade ago
@Shiva
Ans is 0 because x>y is false so its return 0 & 0>5 also false so ans is 0.
Ans is 0 because x>y is false so its return 0 & 0>5 also false so ans is 0.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers