In this C program we’ve 2 operands and one AND operator(&&). We use Logical NOT Operator to change the true and false conditions inside if statement. Check the source code below and guess the output.
Related Read:
Logical Operators In C
Logical && Operator in C Program
- #include < stdio.h >
- int main()
- {
- int a = 20, b = 30;
- if( a && b )
- {
- printf("a = %d\n", a);
- }
- else
- {
- printf("b = %d\n", b);
- }
- return 0;
- }
Output:
a = 20
In above C program, a = 20 and b = 30. In C, any non-zero number is considered as true. So the condition is if statement returns true and the block of code inside if statement gets executed.
Whats the output of this C Program?
- #include < stdio.h >
- int main()
- {
- int a = 20, b = 30;
- if( !(!a) && a )
- {
- printf("a = %d\n", a);
- }
- else
- {
- printf("b = %d\n", b);
- }
- return 0;
- }
Lets evaluate the if condition in above c source code. a = 20, which is non-zero number, so its considered as true(1). So negating the true(1) value !a gives false(0). Negating that false(0) value !(!a) gives true(1).
So !(!a) returns true(1). So both sides of &&(AND) is true, so the whole thing returns true. So the block of code inside if condition gets executed.
Output:
a = 20
C Programming Interview / Viva Q&A: 3 (Logical Operator)
Important:
1. Logical &&(AND) Operator returns true when both sides operands have true(non-zero number) value. In any other case it returns false(0) value.
2. Any non-zero number is considered as true and zero(0) is considered as false in C programming language.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert