fork download
  1. #include "stdio.h"
  2.  
  3. int original(int x) {
  4. return x == (1 && x);
  5. }
  6.  
  7. int equivalent(int x) {
  8. return (x == /*true*/(1>0)) || (x == /*false*/(1<0));
  9. }
  10.  
  11. int test1(int x) {
  12. return (x!=0);
  13. }
  14.  
  15. int test2(int x) {
  16. return (x && 1);
  17. }
  18.  
  19. int test3(int x) {
  20. return x?-1:0;
  21. }
  22.  
  23. int test4(int x) {
  24. return x;
  25. }
  26.  
  27. int main(int argc, char** args) {
  28.  
  29. printf( " x | x == (1 && x) | (x == true) ][ (x == false) | x!=0 | x && 1 | x?-1:0 | x \n");
  30.  
  31. int x = 0;
  32. for (x = -5; x <= 5; x++) {
  33. printf("%3d| %3d | %3d | %3d | %3d | %3d |%3d\n",
  34. x, original(x), equivalent(x),
  35. test1(x),test2(x),test3(x),test4(x)
  36. );
  37. }
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
 x | x == (1 && x) | (x == true) ][ (x == false) | x!=0 | x && 1 | x?-1:0 | x 
 -5|        0      |               0             |    1 |     1  |    -1  | -5
 -4|        0      |               0             |    1 |     1  |    -1  | -4
 -3|        0      |               0             |    1 |     1  |    -1  | -3
 -2|        0      |               0             |    1 |     1  |    -1  | -2
 -1|        0      |               0             |    1 |     1  |    -1  | -1
  0|        1      |               1             |    0 |     0  |     0  |  0
  1|        1      |               1             |    1 |     1  |    -1  |  1
  2|        0      |               0             |    1 |     1  |    -1  |  2
  3|        0      |               0             |    1 |     1  |    -1  |  3
  4|        0      |               0             |    1 |     1  |    -1  |  4
  5|        0      |               0             |    1 |     1  |    -1  |  5