C Programming - Control Instructions - Discussion

Discussion Forum : Control Instructions - Find Output of Program (Q.No. 3)
3.
What will be the output of the program?
#include<stdio.h>
int main()
{
    int a = 500, b = 100, c;
    if(!a >= 400)
        b = 300;
    c = 200;
    printf("b = %d c = %d\n", b, c);
    return 0;
}
b = 300 c = 200
b = 100 c = garbage
b = 300 c = garbage
b = 100 c = 200
Answer: Option
Explanation:

Initially variables a = 500, b = 100 and c is not assigned.

Step 1: if(!a >= 400)
Step 2: if(!500 >= 400)
Step 3: if(0 >= 400)
Step 4: if(FALSE) Hence the if condition is failed.
Step 5: So, variable c is assigned to a value '200'.
Step 6: printf("b = %d c = %d\n", b, c); It prints value of b and c.
Hence the output is "b = 100 c = 200"

Discussion:
33 comments Page 3 of 4.

Denny said:   1 decade ago
What is meant by 500?

Jinal said:   1 decade ago
Not understand what meaning if (!a>=400) please explain it.

Mahalakshmi said:   10 years ago
How !500=0? Please explain.

Sk shadab said:   10 years ago
Here !a means not a, means a is false. And in c false means 0. So !a==0.

Surabhi agarwal said:   9 years ago
Why are we assigning c = 200 when if the condition fails?

Akanksha Reddy said:   8 years ago
The c value is clearly mentioned out from the if loop. Hence as if the condition is failed since it takes only the c value and initial value of b. Hence the option is D.

VINEETHA said:   8 years ago
Than why mention b=300 here?
(3)

AKSHAY said:   7 years ago
As per my knowledge, it is;

int a=50, b,c;
if(a<=40)
b=100;
C=200;
printf ("%d %d ",b,c);
(1)

Rohit said:   7 years ago
Here, a is greater than b. But ! Operator is reverse so if condition is false. So after if the value of b is not take in consideration. After b=300; there is SEMICOLON so it terminates if loop. So we get only a and c values. Hope it helps.

Nanikanchari said:   5 years ago
Here condition is ;
int a = 500, b = 100, c;
if(!a >= 400)
so let me take only a>=400 okay. and a value is 500 we know;

So it will be like 500>=400, so it is true. hence value '1' it will consider in the if() condition.
but we have '!' operator in front of it, so the value will be '0'.


Post your comments here:

Your comments will be displayed after verification.