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 2 of 4.
Manu sharma said:
1 decade ago
What if the program is like this:
main()
{
int a=4,b=2;
a=b<<a+b>>2;
printf("%d",a);
}
What will be the output?
main()
{
int a=4,b=2;
a=b<<a+b>>2;
printf("%d",a);
}
What will be the output?
Niharika said:
1 decade ago
I think #include<stdbool.h> Header file must be used to assign 1=true and 0=false but it is not used in the program.
How is it possible? to get output as 1 When we compare x<y.anyone explain?
How is it possible? to get output as 1 When we compare x<y.anyone explain?
Anmol said:
1 decade ago
No that's an wrong answer. If returning type would be Boolean that it would have been an correct answer.
Chitra said:
1 decade ago
I think <, > have equal priority and the = have lesser priority than <, >.
<, > assign the priority based on 1st come 1st order.
<, > assign the priority based on 1st come 1st order.
Shine said:
1 decade ago
can anyone tell me the priorities of < , > ,= operators?
Mostafa said:
1 decade ago
@Mary,
If x>y>z then,
10>20 return false "0".
0>5 return false "0".
The output will be 0.
If x>y>z then,
10>20 return false "0".
0>5 return false "0".
The output will be 0.
Mary said:
1 decade ago
Can you explain what is the result if the case is like x>y>z?
Indranil Roy said:
1 decade ago
I am explaining my thought.
#include<stdio.h>
int main()
{
int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%d
", i);
return 0;
}
here i=10<20<5
Now c compiler starts execution from left side.
that is 10<20 returns TRUE and TRUE < 5 means 0 < 5 which is TRUE means Ans is 1
#include<stdio.h>
int main()
{
int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%d
", i);
return 0;
}
here i=10<20<5
Now c compiler starts execution from left side.
that is 10<20 returns TRUE and TRUE < 5 means 0 < 5 which is TRUE means Ans is 1
Trisha said:
1 decade ago
What is the priority of =, < and > symbols. Can anyone explain?
Vidya said:
1 decade ago
@Krishna,as per priority given to the operaters, '=' is having highest priority and the operator ' will move from left to right.
and given as i=x,y,z.
so,
i=x=10.
and given as i=x,y,z.
so,
i=x=10.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers