-i++和 -(i++)有区别么

RT

涉及到++和--的时候,建议你不要混用,有些情况是依赖于编译器的.

i++和++i的区别在于,前者是用i的原值参与计算,而后再自加,后者是先自加,然后再参与运算.
i--和--i与之类似.

这里不管你加不加括号,都是以i的原值参加计算,算完后再自加,如果要先自加,使用++i,你可以自己写一段代码试试看.

表达式中使用++和--的时候要非常谨慎,建议在日常习惯中把i++或者++i作为单独一句.

如果这是考试题,就按照老师讲的来吧.
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-02
有区别。
(1)-i++:是先进行减i运算再加1
(2) -(i++):是先进行括号中的加1运算再减i
第2个回答  2010-07-21
结果没区别
但运算方式有区别
()的优先级最高
- 与 ++的优先级相同 自右向左左运算

第一个 -i++ 自右运算 先算i++ 然后才-i

第二个-(i++) 先括号 i++ 再-i本回答被提问者采纳
第3个回答  2010-07-21
如果将这两个算是赋值给某个变量,那么最终结果是一样的。
如:a = -i++;
b = -(i++);
其实这里考察的是运算符的优先级和左右结合的概念;在这里括号没有任何作用。a = -i++;
相当于: a = -i;
i = i + 1;
第4个回答  2010-07-21
这是c的运算优先级问题.
先处理括号内的。所以-(i++)先自加;
不加括号,-i++是计算了再加,即先减再自加。因为自加运算符“++”在后面,是将i-1作为表达式结果返回给a后再对i进行自加。
而如果是-++i的话,就先加了再减。

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答