在变量之前添加运算符

时间:2014-01-12 07:22:05

标签: c

main()
{
int i=-1;
+i;
printf("%d %d",i,+i);
}

+的功能是什么?书中给出的输出是-1 -1。

5 个答案:

答案 0 :(得分:2)

您可能会认为-i+i0-i0+i相同。如果i为否定,则-i为正,而+i不会更改该值。

答案 1 :(得分:2)

那是一个一元+。它本质上是一个无操作。这本书是对的。 (你为什么认为不是?)

答案 2 :(得分:1)

这本书本身就是一个身份(这本书是正确的)。该概念使得更容易表示某些复数操作。这也是你可以拥有-0的原因。也就是说,考虑以较小的增量从1-1接近0。

答案 3 :(得分:1)

+ i和i的值没有区别。 +我就像0 + i一样。 -i将值更改为-1 * i或0-i。

答案 4 :(得分:0)

+i评估为i-i评估为i否定。在任何情况下,i的值保持不变;即在转让或比较之外,这是一个无操作。编译器应该给你一个警告。