摸鱼中ing 发表于 2021-3-2 11:39:45

关于运算符优先级问题

本帖最后由 摸鱼中ing 于 2021-3-2 11:51 编辑

在第一季的拓展阅读《运算符优先级的扩展阅读》里小甲鱼在开头举了一个例子,看下图:

上面说结合性是从右到左,但看下图


这里结合性显示是从左到右,所以是不是这是小甲鱼的错误,正确的运算顺序应该是(-i)++ ??
走过路过别错过啊,大家来讨论一下{:5_91:} {:5_91:} !!

害羞的新手 发表于 2021-3-2 12:31:50

我觉得不可以看结合性,要从优先级入手,变量名++的优先级大于-表达式的优先级,那么就应该是 -(1++)。

爱学习的憨憨 发表于 2021-3-2 12:51:17

本帖最后由 爱学习的憨憨 于 2021-3-2 12:56 编辑

本质上是单目运算符的优先级要大于双目运算符,所以这里的i++先进行运算然后才进行了减法运算
单目运算符:这个运算符只对一个变量进行操作,int a=1;a++;
双目运算符:这个运算符可以对两个变量进行操作,如int a=1,b=2,c;c=a+b;
三目运算符:这个运算符可以对三个变量进行操作(?问号典型),如a<b?a:b;(表达式1?表达式2:表达式3;)

摸鱼中ing 发表于 2021-3-2 19:58:28

爱学习的憨憨 发表于 2021-3-2 12:51
本质上是单目运算符的优先级要大于双目运算符,所以这里的i++先进行运算然后才进行了减法运算
单目运算符 ...

嗯嗯,有道理{:5_109:}
页: [1]
查看完整版本: 关于运算符优先级问题