【发布时间】:2011-02-07 14:20:03
【问题描述】:
为什么会这样说:
int a = 7, b = 8, c = 0;
c = b > a? a > b? a++: b++: a++ ? b++:a--;
cout << c;
不等于:
int a = 7, b = 8, c = 0;
c = (b > a? (a > b? a++: b++): a++)? b++: a--;
cout << c;
并且等于:
int a = 7, b = 8, c = 0;
c = b > a? (a > b? a++: b++): (a++? b++: a--);
cout << c;
请给我一些理由。为什么?
【问题讨论】:
-
如果是作业,请标记。
-
括号里都是。注意它们,你应该能够弄清楚。
-
你的意思是等价,不等价。
-
我希望你不是真的在写这样的代码。
-
哦不...这不是家庭作业!
标签: c++ ternary-operator