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;
}
300, 300, 200
Garbage, 300, 200
300, Garbage, 200
300, 300, Garbage
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.

Angshuman said:   8 years ago
How C gets executed if it is inside the loop and loop condition doesn't satisfy?

Soundarya said:   1 decade ago
Can't understand why variable cant be initialized to 300.

Vikram singh said:   10 years ago
Why C = 200 is independent of "if" statement?

Arun said:   1 decade ago
Can any one explian in details...

Shivani said:   6 years ago
Thanks all for explaining.

Abdg said:   1 decade ago
What is Syntax error?


Post your comments here:

Your comments will be displayed after verification.