这段代码难道不该打印出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...

面试题 相关文章推荐
PHP高级工程师面试问题推荐
Jan 18 面试题
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
.NET方向面试题
Nov 20 面试题
网络安全方面的面试题
Nov 04 面试题
Can a struct inherit from another class? (结构体能继承类吗)
Jul 22 面试题
品恩科技软件测试面试题
Oct 26 面试题
Python里面search()和match()的区别
Sep 21 面试题
Java如何获得ResultSet的总行数
Sep 03 面试题
String、StringBuffer、StringBuilder有区别
Sep 18 面试题
高级Java程序员面试题
Jun 23 面试题
SOA面试题:如何在SOA中实现松耦合
Jul 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 字符串替换的方法
2012/01/10 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
如何通过python检查文件是否被占用
2020/12/18 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
方法名是否可以与构造器的名字相同
2012/06/04 面试题
serialVersionUID具有什么样的特征
2014/02/20 面试题
给学校的建议书
2014/03/12 职场文书
美容院店长岗位职责
2014/04/08 职场文书
水电维修专业推荐信
2014/09/06 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
迁户口计划生育证明
2014/10/19 职场文书
简爱电影观后感
2015/06/10 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
创业计划书之美甲店
2019/09/20 职场文书