注册 登录
  • 推荐使用最新版火狐浏览器和Chrome浏览器访问本网站

自增自减运算符

C语言 admin 65次浏览 0个评论

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


个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明自增自减运算符
喜欢 (0)
admin
关于作者:
这个好学的男人很懒,很少会有东西想说
发表我的评论
取消评论

*

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址