|
case 2: return getitemtype(item) == 2||3;
1 Z# m. u& {6 Y$ [& \- ?等于 case 2: return 2||3; Q* r/ Y+ ?$ l/ X
等于: return 1;% p, w4 P0 g3 M4 Q/ W
你的第一个程序相当于:! u5 y0 n6 c3 o6 i, N7 J
case 1: return getitemtype(item) == 1;
, X4 k2 h) K0 ]% M$ D% \9 L+ icase 2: return 1;在Megesort中最后一个出口,可 ...8 t5 ], \" g, H! d- ]; \8 @
wj109260758 发表于 2010-6-14 05:15 
* y4 X. n- R3 b% @8 B9 Y
$ h7 O# c* c: U8 i: p# F* V理解有些问题啊,这个触发是一个判断,当每个item到达一个port(端口)时触发一次,然后判断触发:如果为真则发送,如果为假则不发送。+ ]8 A& |/ R+ G$ F
return getitemtype(item) == 2||3 相当于判断两次,只要一次为真则整体为真,判断的条件是:getitemtype(item) == 2 和 3 , 3总为真) x0 p9 N' p" F0 Q7 i" b
7 I& r9 [+ Z3 X! ]4 z, |! ?1 f
这种写法是不正确的,而return getitemtype(item) == 2||getitemtype(item) == 3 则判断两次,所以要注意这种细节。 |
|