由于'?'的关联性,是从右到左,任何2个连续的'?'运营商必须如此对待,对吗? 现在, int x=-1;
int y=x?x++?x:-1:1;
我希望这是执行为: '?' int y = x ? (x++?x:-1) : 1;
现在,因为它正从从右到左执行,遇到第一个时在声明中,X的值是0,表达式为 int y= x? 0 : 1;
因此,我预计Y中1,但它表明我的DEV-cpp
我知道perlop。我所寻找的是一个快速查找喜欢GHCI :info命令: ghci> :info (+)
class (Eq a, Show a) => Num a where
(+) :: a -> a -> a
...
-- Defined in GHC.Num
infixl 6 +
在那里我学到(+)是左关联的,并且具有从infixl 6 +线6优先级