a+++b
来源:互联网 发布:中彩票 知乎 编辑:程序博客网 时间:2024/04/29 10:57
对于++、--运算符,我们应注意以下几点:
(1)++、--运算符只能用于变量,而不能用于常量或表达式,例如8++,(x+y)--均是不合法的。
(2)++、--运算符是单目运算符,优先级高于双目基本算术运算符,而低于括号( ( ) )运算符,结合性为从右到左。
(3)++、--运算符的运算对象为字符型、整型、指针型变量或数组元素,运算结果的数据类型同运算对象的类型一致。
(4)当出现难以区分的若干个“+”或“-”组成运算符串时,C语言规定:从左到右取尽可能多的符号组成运算符。例如,设整型变量a、b的值均为5,则:
a+++b 应理解为(a++)+b,结果为10,运算后a为6,b不变。
a---b 应理解为(a--)-b,结果为0,运算后a为4,b不变。
但如果出现如下形式:
(a++)+(a++)+(a++)
表达式的值是多少呢?有的系统按照从左到右顺序求解括弧内的运算,求完第一个括弧的值后,实现a的自加,a值变为6,再依次求第二个、第三个括弧的值,结果表达式相当于5+6+7,即18。而另一些系统(如Turbo c)把5作为表达式中所有a的值,因此3个a相加,得表达式的值为15,在求出整个表达式的值后再实现自加3次,a的值变为8。应该避免出现这种岐义,程序中尽量不要出现这种现象。
- a>b?a:b
- a+b
- a+++b
- A + B
- A+B
- A+B
- {A} + {B}
- a+++b
- A+B
- A-B
- A+B
- A + B
- A|B?
- A+B
- A + B
- A+B
- A + B
- A+B
- Gtk-WARNING **: cannot open display: :0.0的问题
- 详解 C语言可变参数 va_list和_vsnprintf及printf实现
- Failure [INSTALL_FAILED_OLDER_SDK]
- 最大子序列和
- hdu 1080
- a+++b
- UITableView的使用
- C语言的自动参数提升(default argument promotion)规则
- C# 中使用OPenCV(Emgu)心得
- ACM中使用JAVA的介绍
- QT210,U-Boot移植(2)
- MySQL_04
- Android内置倒计时类CountDownTimer
- 坚持