fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. bool f(std::string const &s, bool v)
  5. {
  6. std::cout << s << v << ' ';
  7. return v;
  8. }
  9.  
  10. int main()
  11. {
  12. std::cout << "a || b && c" << std::endl;
  13. for(unsigned i = 0; i < 8; ++i)
  14. {
  15. if(f("a", i&0b100) || f("b", i&0b10) && f("c", i&0b1))
  16. {
  17. std::cout << "true" << std::endl;
  18. }
  19. else
  20. {
  21. std::cout << "false" << std::endl;
  22. }
  23. }
  24. std::cout << "a && b || c" << std::endl;
  25. for(unsigned i = 0; i < 8; ++i)
  26. {
  27. if(f("a", i&0b100) && f("b", i&0b10) || f("c", i&0b1))
  28. {
  29. std::cout << " true" << std::endl;
  30. }
  31. else
  32. {
  33. std::cout << " false" << std::endl;
  34. }
  35. }
  36. }
  37.  
Success #stdin #stdout 0s 3232KB
stdin
Standard input is empty
stdout
a || b && c
a0 b0 false
a0 b0 false
a0 b1 c0 false
a0 b1 c1 true
a1 true
a1 true
a1 true
a1 true
a && b || c
a0 c0  false
a0 c1  true
a0 c0  false
a0 c1  true
a1 b0 c0  false
a1 b0 c1  true
a1 b1  true
a1 b1  true