标签: expression
我找到了一个表达式:
int i=2; i=+i*i;
它产生i = 4。我想有人对此有意见。
答案 0 :(得分:1)
我认为它是一些类似C语言。在这种情况下,有一个“一元加”运算符,它看起来像+i并返回i的值。
+i
i
因此根据operator prescendence rules i=+i*i;分解为i = ((+ i) * i),基本上相当于i *= i。
i=+i*i;
i = ((+ i) * i)
i *= i
我们知道2 * 2 = 4,所以你得到的结果是完全合法的。