C Programming - Control Instructions - Discussion
Discussion Forum : Control Instructions - Find Output of Program (Q.No. 12)
12.
What will be the output of the program?
#include<stdio.h>
int main()
{
int a = 300, b, c;
if(a >= 400)
b = 300;
c = 200;
printf("%d, %d, %d\n", a, b, c);
return 0;
}
Answer: Option
Explanation:
Step 1: int a = 300, b, c; here variable a is initialized to '300', variable b and c are declared, but not initialized.
Step 2: if(a >= 400) means if(300 >= 400). Hence this condition will be failed.
Step 3: c = 200; here variable c is initialized to '200'.
Step 4: printf("%d, %d, %d\n", a, b, c); It prints "300, garbage value, 200". because variable b is not initialized.
Discussion:
16 comments Page 2 of 2.
Vikram singh said:
10 years ago
Why C = 200 is independent of "if" statement?
Deepika said:
9 years ago
In this, if(a>=400) then it checks the value and the condition become fails . Then it enters into b statement but why it is going to c statement and the b value becomes garbage why?
(1)
Abhishek said:
9 years ago
@Deepika.
The default scope of the "if" statement is only the next statement so it won't enter into b statement and go to c statement. If you want to execute more than one statement you need to write it in the pair of braces.
The default scope of the "if" statement is only the next statement so it won't enter into b statement and go to c statement. If you want to execute more than one statement you need to write it in the pair of braces.
Angshuman said:
8 years ago
How C gets executed if it is inside the loop and loop condition doesn't satisfy?
Harshitha said:
7 years ago
Here, after if statement, it means the next statements is also false, but why the below statement is regarded as false (b statement).
Then c=200 will be executed.
Then c=200 will be executed.
(1)
Shivani said:
6 years ago
Thanks all for explaining.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers