码迷,mamicode.com
首页 > 其他好文 > 详细

自增自减运算符

时间:2017-03-29 16:36:51      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:运算符   对象   程序   方式   后缀   执行   bsp   语句   角度   

如果n值为3,那么执行语句”m=-n++”后,m和n的值各为多少?

 

m=-n++;

相当于

m=-(n++);

而不是

m=(-n)++;

 

因为运算符++的运算对象只能是变量,不能是表达式,对一个表达式使用增1或减1运算是一个语法错误,因此”m=(-n)++;”本身也是不合法的.

 

由于在表达式”-(n++)”中,++是运算对象即变量n的后缀运算符,因此它表示先使用变量n的值,使用完n以后再将n的值增1.也就是说,上面这条语句实际上等效于下面两条语句:

m=-n;

n=n+1;

 

因此,执行该语句以后,m值为-3,n值为4.虽然这两种实现方式是等效的,但从程序的可读性角度而言,后面的两条语句比”m=-n++;”的可读性更好.

 

良好的程序设计风格提倡在一行语句中,一个变量最多只出现一次增1或减1运算.

自增自减运算符

标签:运算符   对象   程序   方式   后缀   执行   bsp   语句   角度   

原文地址:http://www.cnblogs.com/veneus/p/6639642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!