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;
}
1, 40, 1
1, 55, 1
1, 55, 0
1, 1, 1
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 2 of 2.

Raji said:   9 years ago
Can anyone explain my doubt in this problem how X is greater than equal to 10 will be satisfied?

Asmita said:   7 years ago
@Ranjit.

If the statement is true then it returns 1.
If false then 0.

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.

Daisy J said:   10 years ago
@ Ankitsitm.

Hi dear,

Output will be:

(i) 3.
(ii) 1.

Hritik said:   9 years ago
Why this expression execute from right to left?


Post your comments here:

Your comments will be displayed after verification.