这段代码难道不该打印出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如何去执行一个SQL语句
Mar 05 面试题
北承题目(C++)
May 16 面试题
估算杭州有多少软件工程师
Aug 11 面试题
雅虎笔试题(字符串操作)
Mar 24 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
定义一结构体数组表示分数,并求两个分数相加之和
Jun 11 面试题
金士达面试非笔试
Mar 14 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
Nov 04 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
Nov 17 面试题
DOM和JQuery对象有什么区别
Nov 11 面试题
什么是方法的重载
Jun 24 面试题
Java面试笔试题大全
Nov 23 面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
华为c/c++笔试题
Jan 25 #面试题
You might like
mysql 字段类型说明
2007/04/27 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
PHP 写文本日志实现代码
2010/05/18 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
浅析javascript 定时器
2014/12/23 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
Ionic快速安装教程
2016/06/03 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
python图片验证码生成代码
2016/07/02 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
python 递归相关知识总结
2021/03/03 Python
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
服装采购员岗位职责
2014/03/15 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
郭明义电影观后感
2015/06/08 职场文书