运算优先级问题
来源:互联网 发布:mac移除windows分区 编辑:程序博客网 时间:2024/06/06 03:30
int i = f1() * f2();//f1()和f2()肯定会在乘号之前执行,可是我们并不知道先执行的是哪个
cout<<i<<i++;//此时,并不知道先执行i++和是i 即称该表达式的行为是不可预知的
只有四种运算符明确规定了运算对象的求值顺序 && || ?: 和 , (先左后右)
求值顺序、优先级、结合律
int i = f() + f1() * f2();//
- 优先级规定:f1()和f2()的返回值的乘积
- 结合律规定:上述乘积与f()的结果相加
- 而其中函数的调用顺序并没有规定
因此,如果这些函数影响同一对象,则它是一条错误的表达式,将产生未定义的结果
所以:拿不准的优先级最好用强制使用括号
如果改变了某个运算对象的值,在表达式的其他地方不要再使用这个运算对象
一元运算符的优先级最高,接下来是乘除,最后是加减
解引用优先级别小于自增运算:(*p)++ *p++
解引用优先级别小于点运算 *p.size()
0 0
- 运算符优先级问题
- 运算符问题--优先级
- 运算符优先级问题
- 运算符优先级问题
- 运算符优先级问题
- 无优先级运算问题
- 无优先级运算问题
- 位运算优先级问题
- 运算符优先级问题
- 运算优先级问题
- 运算符 || && 优先级问题
- C++运算符优先级问题
- 运算符优先级相关问题
- Java运算符优先级问题
- c中的运算符的优先级问题
- 类型转换和运算符优先级问题
- c语言运算符的优先级问题
- 运算符+优先级问题(经典)
- jsp调用shell脚本
- spring boot集成mongodb
- Spring详细教程
- 生产者消费者模式与实际应用
- 动态规划:HDU-1203-0-1背包问题:I NEED A OFFER!
- 运算优先级问题
- js常用函数
- Git使用之使用Xcode上传代码至GitHub
- FZU 2218 Simple String Problem (状压DP)
- IOS Label 字符串 宽高
- Myeclipse2016如何设置字体大小
- uvm之virtual sequence机制
- cloud培训笔记
- BZOJ3226 [Sdoi2008]校门外的区间