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

面试题 相关文章推荐
如何获取某个日期是当月的最后一天
Dec 05 面试题
写出二分查找算法的两种实现
May 13 面试题
经典c++面试题五
Dec 17 面试题
Does C# support multiple inheritance? (C#支持多重继承吗)
Jan 04 面试题
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
Jul 23 面试题
某科技软件测试面试题
May 19 面试题
常见的软件开发流程有哪些
Nov 14 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
Nov 23 面试题
如何从一个文件档案的尾端新增记录
Dec 02 面试题
Java面试题:请说出如下代码的输出结果
Apr 22 面试题
灵泰克Java笔试题
Jan 09 面试题
Java模拟试题
Nov 10 面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
华为c/c++笔试题
Jan 25 #面试题
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
paypal即时到账php实现代码
2010/11/28 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
php文件下载处理方法分析
2015/04/22 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
基于php实现的验证码小程序
2016/12/13 PHP
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
详解Webpack实战之构建 Electron 应用
2017/12/25 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
Python MD5加密实例详解
2017/08/02 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
Python实现微信好友的数据分析
2019/12/16 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
国际象棋商店:The Chess Store
2018/07/09 全球购物
期末复习计划
2015/01/19 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
Java版 简易五子棋小游戏
2022/05/04 Java/Android