Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 4th, 2012  |  syntax: None  |  size: 1.00 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. unary operators in printf
  2. #include<stdio.h>
  3.  
  4. int main()
  5. {
  6. unsigned int x=0;
  7. printf("expr= %d x=%dn",(x^x),x);
  8. printf("x=%dn",x);
  9. x=0;
  10. printf("expr= %d x=%dn",(x^x)||x++,x);
  11. printf("x=%dn",x);
  12. x=0;
  13. printf("expr= %d x=%dn",(x^x)||x++||++x,x);
  14. printf("x=%dn",x);
  15. x=0;
  16. printf("expr= %d x=%dn",(x^x)||x++||++x||x++,x);
  17. printf("x=%dn",x);
  18. x=0;
  19. printf("expr= %d x=%dn",x++,x);
  20. printf("x=%dn",x);
  21. x=0;
  22. printf("expr= %d x=%dn",++x||x++,x);
  23. printf("x=%dn",x);
  24. x=0;
  25. printf("expr= %d x=%dn",x++||++x||x++,x);
  26. printf("x=%dn",x);
  27. x=0;
  28. printf("expr= %d x=%dn",(x^x)||x++||++x||x++,x);
  29. printf("x=%dn",x);
  30. x=0;
  31. (x^=x);
  32. printf("x=%dn",x);
  33. x=0;
  34. (x^=x)||x++;
  35. printf("x=%dn",x);
  36. x=0;
  37. (x^=x)||x++||++x;
  38. printf("x=%dn",x);
  39. x=0;
  40. (x^=x)||x++||++x||x++;
  41. printf("x=%dn",x);
  42.  
  43. return 0;
  44. }
  45.        
  46. expr= 0 x=0
  47. x=0
  48. expr= 0 x=1
  49. x=1
  50. expr= 1 x=2
  51. x=2
  52. expr= 1 x=2
  53. x=2
  54. expr= 0 x=1
  55. x=1
  56. expr= 1 x=1
  57. x=1
  58. expr= 1 x=2
  59. x=2
  60. expr= 1 x=2
  61. x=2
  62. x=0
  63. x=1
  64. x=2
  65. x=2
  66.        
  67. a = x++;
  68. b = x;
  69. func(a,b);
  70.        
  71. b = x;
  72. a = x++;
  73. func(a,b);
  74.        
  75. printf("expr= %d x=%dn",(x^x)||x++||++x,x);