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

面试题 相关文章推荐
static全局变量与普通的全局变量有什么区别
May 27 面试题
一家外企的面试题目(C/C++面试题,C语言面试题)
Mar 24 面试题
android面试问题与答案
Dec 27 面试题
DBA数据库管理员JAVA程序员架构师必看
Feb 07 面试题
亿阳信通股份有限公司笔试题(C#)
Mar 04 面试题
ASP.NET中的身份验证有那些
Jul 13 面试题
.NET现在共支持多少种语言
Feb 26 面试题
某科技软件测试面试题
May 19 面试题
How to spawning asynchronous work in J2EE
Aug 29 面试题
用Python写一个for循环的例子
Jul 19 面试题
与UNIX有关的几个名词
Sep 17 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
Oct 13 面试题
枚举和一组预处理的#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/07/04 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
JavaScript的目的分析
2007/01/05 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
javascript编程实现栈的方法详解【经典数据结构】
2017/04/11 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python进阶教程之异常处理
2014/08/30 Python
详细解读Python中的__init__()方法
2015/05/02 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
python 异或加密字符串的实例
2018/10/14 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
商场促销活动方案
2014/02/08 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
社区消防工作实施方案
2014/03/21 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
1亿有多大教学反思
2014/05/01 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
业务员辞职信范文
2015/03/02 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
环保守法证明
2015/06/24 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python