奇怪的C代码
2024-10-18 14:39:44
int i = ;
int ans = (++i)+(++i)+(++i);
ans等于多少?我想大多数同学都会和我一样的认为: ans = 4 + 5 + 6 = 15.
而实际结果呢?
- Linux下用gcc编译的结果是16.
- Windows下用VC编译,debug模式的结果是16, Release模式的结果是18.
- VS 2010中不管是Debug模式或是Release模式,结果都是18.
这都是编译器优化的结果,导致结果不确定。
所以我们应该避免在一行代码中重复出现被递增(递减)的变量。
最新文章
- phpcms学习的一点心得
- 开发一款完备的android应用所必备的知识
- makefile学习小结
- XX管理系统案例
- 摩托罗拉SE4500 德州仪器TI Omap37xx/AM3715/DM3730/AM3530 wince6.0/Windows Mobile 6.5平台 二维软解调试记录及相关解释
- poj 2631 Roads in the North
- [OC Foundation框架 - 18] Class
- Xcode中C、C++、Object-C3种语言的混编
- 1.3.2. App Icon 和 Launch Image(Core Data 应用程序实践指南)
- 2017-10-27模拟赛2-T1 选举(election.*)
- asp.net,根据gridview 中checkbox复选框选中的行对数据库进行操作
- Python 多进程multiprocessing
- 06——react组件的基本定义和使用
- 简单模拟flume
- MySQL 数据库性能优化之SQL优化【转】
- vsphere 5.1 性能最佳实践。
- What Great .NET Developers Ought To Know (More .NET Interview Questions)
- MVC 扩展RadioButtonListFor和CheckBoxListFor
- python 爬取妹子图
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->;第7节: 获取异线程释放的对象
热门文章
- Delphi 判断TImage是否为空及注意事项
- jsp页面has already been called for this response错误解决方法。
- [转帖]select提高并发,select和poll、epoll的区别(杂)
- SpannableString的基本用法
- html template &; iframe
- Java并发编程实战3-可见性与volatile关键字
- MT【152】不患寡而患不均
- [CF850F] Rainbow Balls
- 【CF888G】Xor-MST(最小生成树,Trie树)
- 【BZOJ3294】放棋子(动态规划,容斥,组合数学)