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

面试题 相关文章推荐
Yahoo-PHP面试题2
Dec 06 面试题
实现strstr功能,即在父串中寻找子串首次出现的位置
Aug 05 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
JAVA和C++区别都有哪些
Mar 30 面试题
广州迈达威.net面试题目
Mar 10 面试题
shallow copy和deep copy的区别
May 09 面试题
Linux常见面试题
Oct 04 面试题
软件测试笔试题
Oct 25 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
JAVA中运算符的分类及举例
Sep 12 面试题
Java面试笔试题大全
Nov 23 面试题
UNIX操作系统结构由哪几部分组成
Feb 17 面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
华为c/c++笔试题
Jan 25 #面试题
You might like
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
jquery自定义组件实例详解
2020/12/31 jQuery
pyside写ui界面入门示例
2014/01/22 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
python tqdm库的使用
2020/11/30 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
学院书画协会部门职责
2013/11/28 职场文书
五年级科学教学反思
2014/02/05 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
css3 文字断裂效果
2022/04/22 HTML / CSS