C Programming - Expressions - Discussion
Discussion Forum : Expressions - Find Output of Program (Q.No. 1)
1.
What will be the output of the program?
#include<stdio.h>
int main()
{
int i=-3, j=2, k=0, m;
m = ++i && ++j && ++k;
printf("%d, %d, %d, %d\n", i, j, k, m);
return 0;
}
Answer: Option
Explanation:
Step 1: int i=-3, j=2, k=0, m; here variable i, j, k, m are declared as an integer type and variable i, j, k are initialized to -3, 2, 0 respectively.
Step 2: m = ++i && ++j && ++k;
becomes m = -2 && 3 && 1;
becomes m = TRUE && TRUE; Hence this statement becomes TRUE. So it returns '1'(one). Hence m=1.
Step 3: printf("%d, %d, %d, %d\n", i, j, k, m); In the previous step the value of i,j,k are increemented by '1'(one).
Hence the output is "-2, 3, 1, 1".
Discussion:
28 comments Page 3 of 3.
Manju said:
8 years ago
What is the value of m?
m=(K++ - K++), when K=7.
m=(K++ - K++), when K=7.
Siri said:
8 years ago
Can anyone explain -2 && 3 && 1?
(1)
Srinivas said:
6 years ago
Clear explanation, Thanks @Sachendra Niranjan.
Sandhya said:
9 years ago
How m becomes true? Can anyone explain it?
Teju said:
8 years ago
@Siri.
AND(&&)operator.
AND(&&)operator.
Teju said:
8 years ago
Explain && operator.
Narayan pandey said:
1 decade ago
Please make me understand.
RAGHU said:
8 years ago
Output M=0.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers