Example(s):Palindrome, prime, armstrong, "linear search", reverse etc.
Example(s):1575, 1632, 1539 (Only one at a time)
Login
[lwa]
Solved Problem
#CPP#3215
Problem Statement - Output Writing – Logical Operators
Write the output of the following program and explain.
int main( )
{
int a=1,b=0;
int c=!a && b;
cout<<(c || b+a)<<endl;
cout<<(-c && a+b)<<endl;
return 0 ;
}
Solution
TC++ #3215
Run Output
1
0
Notes
int a=1, b=0;
a initialised with 1 and b with 0. 1 is considered as default true conditions and 0 as false condition.
int c=!a && b;
The expression on right will evaluate to false as !a will be false and b is false so two false with && will become false. So c will contain 0.
cout<<(c || b+a)<<endl;
Here c is 0 and b+a will be 1 so || condition between 0 and 1 will return 1.
cout<<(-c && a+b)<<endl;
Here -c will still be 0 and a+b is 1 so && condition between 0 and 1 will return 0.
C++ assumes the True condition as default equivalent to integer value 1 and False condition to integer value 0. Although we do have a bool data type in c++ which can be used for efficient use of true false logic but it is often used by implicitly converting to int data type.