关系操作符和条件操作符

操作符很不直观,很麻烦哦

其实比起汇编来看,就好多啦~~!

这次换个分析格式。

下载: 1.5.c
  1. #define PRINT(INT) printf(#int "=%d\n",int)
  2.  
  3. main(){
  4.  
  5. int x=1,y=1.z=1;
  6.  
  7. x+=y+=z;
  8.  
  9. PRINT(x<y?y:x);
  10.  
  11. /*
  12.  
  13. 初始值:x=3,y=2,z=1
  14.  
  15. ((x<y)?(y):(x))
  16.  
  17. (FALSY?(y):(x))
  18.  
  19. ((X))
  20.  
  21. (3)
  22.  
  23. 3
  24.  
  25. */
  26.  
  27. PRINT(x<y?x ++ : y ++);
  28.  
  29. PRINT(x); PRINT(y);
  30.  
  31. /*
  32.  
  33. 初始值:x=3,y=2,z=1
  34.  
  35. ((x<y)?(x ++) : (y ++)
  36.  
  37. (FALSE?(x ++) : (y ++)先对条件求值
  38.  
  39. ((y++))
  40.  
  41. (2)此时y=3
  42.  
  43. */
  44.  
  45. PRINT(z+=x<y?x ++ : y++);
  46.  
  47. PRINT(y); PRINT(z);
  48.  
  49. /*
  50.  
  51. (z+=((x=y>=x)?1:0);
  52.  
  53. PRINT(z>=y && y>=x);
  54.  
  55. }
  56. ?>

看完文章何不多讲几句订阅本站RSS :蘑菇日后更新,会及时送至您的RSS阅读器!

Comments

还没有评论。

发表评论

(必填)

(必填)