登录
2020-09-24 22:09:48

-- 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜义项:网球运动员、歌手等非诚勿扰的义项:冯用故怎绝指静是照切小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
计算机概念
计算机概念
编辑分类

"--"是计算机编程高级语言里的自减运算符。与此相对应的是自增运算符"++"。自减运算只能作用于变量,而不能作用于常量表达式

基本信息

  • 中文名称

    --

  • 所属

    计算机编程高级语言

折叠 编辑本段 介绍

例:--i,i--

--i是返回 i 的值之前先使 i 减一;

i--是返回 i 的值之后再减一。

结果是:

j=1 i=0

j=0 i=0

折叠 编辑本 运算符的运算对象

因为自减运算符具有对运算量重新赋值的功能,而常量、表达式无存储单元可言,当然不能做自减运算。只要是标准类型的变量,不管是整型、实型,还是字符型、枚举型都可以作为这两个运算符的运算对象。如以下四个表达式都是合法的:i+++j++、++i+(++j)助容围黑乱出困备载觉、++a+b++、++array〔--j〕;而++6、(i+j)++、'A'++、++i+++j、(&p)++这五个表达式却是不合法的。为什么i+++j++合法,而++i+++j却不合法?C的编译器对程序编译时,从左到右尽可能多地将字符组合成一个运来自算符或标识符,因此i+++j++等效于(i++)+(j++),两个"++"作用的对象都是变量,这是合法的;而++i+++j等效于++(i++)+j,第1个"++"作用的对象是表达式"i++",360百科这是不允许的。

折叠 编辑本段 运算符的结合方向

表达式k=-类数架细小程长剧批连果i++等效于k=(-i)++还是k=-(i++)?因为负号运算符和自增色承修需千候织哪运算符优先级相同,哪一个正确就得看结合方向。自增、自减运算符及负号运算符的结合方向是从右向左。因此,上式等效期女于k=-(i++);若i=5,则表达陈怕式k=-i++运算之后k的值为-5,i的值为6。此赋值表达式的值即为所赋的值-5。不要因为k=-i++等效于k=-(i++)就先做"++"运算!这里采用的是"先用后变",即先拿出i的值做负号"-"运算,把这个值赋给变量k之后变量i才自增。

阅读全文