Output Writing – Logical Operators – Computer Sir Ki Class
  

Login
[lwa]



Solved Problem! #CPP#3215 siteicon   siteicon   siteicon  

Problem Statement - Output Writing – Logical Operators

Write the output of the following program and explain.

TC++ #3215

#include 
#include
int main( )
{
clrscr();
int a=1,b=0;
int c=!a && b;
cout<<(c || b+a)< cout<<(-c && a+b)< getch();
return 0 ;
}

#include 
using namespace std;
int main( )
{
int a=1,b=0;
int c=!a && b;
cout<<(c || b+a)< cout<<(-c && a+b)< return 0 ;
}

Test it !

Solution


Run Output

1
0

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.

Notes

  • 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.


Share

sunmitra| Created: 30-Jan-2018 | Updated: 30-Jan-2018|






Back