自增自减运算符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自增自减运算符相关的知识,希望对你有一定的参考价值。

如果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运算.

以上是关于自增自减运算符的主要内容,如果未能解决你的问题,请参考以下文章

自增、自减运算符的使用?

Javascript自增自减运算符

JS中的自增自减问题

0205 自增自减运算符

shell编程之自增自减运算符

2.1 C++自增自减运算符