C Programming - Expressions - Discussion
Discussion Forum : Expressions - Find Output of Program (Q.No. 11)
11.
What will be the output of the program?
#include<stdio.h>
int main()
{
int x=55;
printf("%d, %d, %d\n", x<=55, x=40, x>=10);
return 0;
}
Answer: Option
Explanation:
Step 1: int x=55; here variable x is declared as an integer type and initialized to '55'.
Step 2: printf("%d, %d, %d\n", x<=55, x=40, x>=10);
In printf the execution of expressions is from Right to Left.
here x>=10 returns TRUE hence it prints '1'.
x=40 here x is assigned to 40 Hence it prints '40'.
x<=55 returns TRUE. hence it prints '1'.
Step 3: Hence the output is "1, 40, 1".
Discussion:
16 comments Page 1 of 2.
Ashok said:
2 years ago
Here the number 40 is not assigned in the program.
But it shows 40 is assigned HOW?
Anyone can explain it in detail.
But it shows 40 is assigned HOW?
Anyone can explain it in detail.
Shivani said:
3 years ago
Why expression is right to left? please explain to someone.
Sameer said:
4 years ago
Why expression right to left?
Please explain to someone.
Please explain to someone.
Rohit L said:
4 years ago
int main()
{
int x=55,a;
printf(" %d, %d, %d\n",x=50, x=40, x>=10);
return 0;
}
the output is 50 50 1
How? Please anyone explain me.
{
int x=55,a;
printf(" %d, %d, %d\n",x=50, x=40, x>=10);
return 0;
}
the output is 50 50 1
How? Please anyone explain me.
Siva said:
5 years ago
I have a doubt the declaration is x=>55.
My thought is before the 55 is 54 so it must be the answer but why it's 1?
My thought is before the 55 is 54 so it must be the answer but why it's 1?
Asmita said:
7 years ago
@Ranjit.
If the statement is true then it returns 1.
If false then 0.
If the statement is true then it returns 1.
If false then 0.
Ranjit gupta said:
8 years ago
How it returns and print 1?
(here x>=10 returns TRUE hence it prints '1'.)
But if true returns,it prints 0
And id false returns,it prints 1,
Why mentioned like that returns TRUE hence it prints 1.
Didn't get this logic. Explain someone.
(here x>=10 returns TRUE hence it prints '1'.)
But if true returns,it prints 0
And id false returns,it prints 1,
Why mentioned like that returns TRUE hence it prints 1.
Didn't get this logic. Explain someone.
Hritik said:
9 years ago
Why this expression execute from right to left?
Raji said:
9 years ago
Can anyone explain my doubt in this problem how X is greater than equal to 10 will be satisfied?
Ankit Kumar said:
9 years ago
I didn't understand the output 1, 40, 1 since x is definitely assigned with 40 but it should rather return a status value such as 1 or 0 and not 40. Please explain this.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers