这段代码难道不该打印出56吗


Posted in 面试题 onFebruary 27, 2013
使用我的编译器,下面的代码int i=7; printf(“%d\n”, i++ *i++); 返回49?不管按什么顺序计算, 难道不该打印出56吗?
尽管后缀自加和后缀自减操作符++ 和– 在输出其旧值之后才会执行运算,但这里的“之后”常常被误解。没有任何保证确保自增或自减会在输出变量原值之后和对表达式的其它部分进行计算之前立即进行。也不能保证变量的更新会在表达式“完成” (按照ANSI C 的术语, 在下一个“序列点” 之前, 参见问题3.7) 之前的某个时刻进行。本例中, 编译器选择使用变量的旧值相乘以后再对二者进行自增运算。
包含多个不确定的副作用的代码的行为总是被认为未定义。(简单而言, “多个不确定副作用” 是指在同一个表达式中使用导致同一对象修改两次或修改以后又被引用的自增, 自减和赋值操作符的任何组合。这是一个粗略的定义; 甚至都不要试图探究这些东西在你的编译器中是如何实现的(这与许多C 教科书上的弱智练习正好相反); 正如K&R 明智地指出, “如果你不知道它们在不同的机器上如何实现, 这样的无知可能恰恰会有助于保护你。”

Tags in this post...

面试题 相关文章推荐
Tomcat中怎么使用log4j输出所有的log
Jul 07 面试题
Java中实现多态的机制
Aug 09 面试题
JSF如何进行表格处理及取值
Aug 06 面试题
北承题目(C++)
May 16 面试题
SQL SERVER面试资料
Mar 30 面试题
什么是Smart Navigation?
Jul 03 面试题
广州盈通面试题
Dec 05 面试题
介绍一下Linux内核的排队自旋锁
Jan 04 面试题
Solaris操作系统的线程机制
Dec 23 面试题
linux面试题参考答案(10)
Nov 04 面试题
软件测试英文面试题
Oct 14 面试题
Python里面search()和match()的区别
Sep 21 面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
华为c/c++笔试题
Jan 25 #面试题
You might like
php+ajax实现的点击浏览量加1
2015/04/16 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
python中with用法讲解
2020/02/07 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
社区中秋节活动方案
2014/01/29 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js