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

面试题 相关文章推荐
什么是Smarty变量操作符?如何使用Smarty变量操作符
Jul 18 面试题
同步和异步有何异同,在什么情况下分别使用他们?举例说明
Feb 27 面试题
请用用Java代码写一个堆栈
Jan 26 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
C语言如何决定使用那种整数类型
Nov 26 面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 面试题
说一下mysql, oracle等常见数据库的分页实现方案
Sep 29 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
武汉世纪畅想数字传播有限公司 .NET笔试题
Jun 13 面试题
中科创达面试题
Dec 28 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
25道Java面试题集合
May 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
php生成随机颜色的方法
2014/11/13 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
js数组操作常用方法
2014/05/08 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
django实现前后台交互实例
2017/08/07 Python
python自动12306抢票软件实现代码
2018/02/24 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
美国知名生活购物网站:Goop
2017/11/03 全球购物
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
大学本科毕业生求职信范文
2013/12/18 职场文书
初中体育教学反思
2014/01/14 职场文书
学生生病请假条范文
2014/02/16 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书