“未定义”的求值顺序问题
来源:互联网 发布:门店销售软件 编辑:程序博客网 时间:2024/04/30 23:07
printf 貌似是从右向左执行的。
但其实换一种编译器可能就产生不同结果。或者去掉 ++ 也会有意想不到的结果。
编程原则: 不要把 ++, -- 和其它 表达式混合写在一行, 否则会有无穷多的类似问题!
这是一个“未定义”的求值顺序问题,C99标准里专门有一条讲的这个问题。即 C++ 并没规定函数参数求值顺序
还可以参考cert的C++安全编程规范第10条:https://www.securecoding.cert.org/confluence/display/seccode/EXP10-C.+Do+not+depend+on+the+order+of+evaluation+of+subexpressions+or+the+order+in+which+side+effects+take+place
所以不要这样用...
- “未定义”的求值顺序问题
- 关于C/C++ 表达式求值顺序 未定义
- 关于C/C++ 表达式求值顺序 未定义
- 求值时的未定义行为
- 由求值顺序所带来的问题
- printf函数的求值顺序问题
- 关于C/C++的求值顺序问题
- 求值顺序问题
- 求值顺序问题
- 关于C/C++ 表达式求值顺序 未定义(转)
- 分割函数参数的逗号并不是逗号运算符,因此其求值顺序是未定义,不确定的。
- 表达式的求值顺序
- 关于C/C++中表达式求值顺序的深层次问题
- WebForm_PostBackOptions未定义的问题
- WebForm_PostBackOptions未定义的问题
- ajaxpro未定义的问题
- sys未定义的问题
- C++表达式求值的顺序
- 在4.1版中引入新的日志框架组合,用于系统运行测量
- editor does not contain a main type的解决方案
- mini球机开始研发
- 韦文成:SEO需要了解的一些搜索引擎高级指令
- 堆排序算法分析——《算法导论》学习笔记
- “未定义”的求值顺序问题
- 项管征途-项目管理师成绩
- endnote使用心得
- 小型数据库的选择(轻量级数据库)
- 静静地、慢慢地骑过
- ASP.NET网站权限设计实现(二)——角色权限绑定
- 17 Jan 2011 Note
- SVN使用补遗-使用中应注意的问题
- Java Listener 模式