论i++与++i
网上看到好多人问i++与++i到底怎么理解,网友给出的答案几乎都是一样的。如下:
i++:先进行计算,然后i自增1
++i:i自增1,然后进行计算
并且课本上给出的解释跟这个也差不多,不过这样记起来既麻烦又容易忘记。那么有没有一种简单的理解技巧呢?答案当然是有了!
可以这样去理解:如果代码里有这样的计算,计算时是跟表达式(例如:i++或++i)进行计算的,与i的值无关,然后呢:
i++就可以理解为先将i的值赋值给表达式,然后i自增1
++i就可以理解为i的值先自增1,然后将i的值赋值给表达式
这样就可以非常清晰的看到i++和++i在整个计算过程中的详细变化了,方便了理解和记忆,i--和--i类似,就不做解释了。
随机推荐
- fastclick.js介绍
原文地址:http://www.uedsc.com/fastclick.html 用途:去掉移动端click事件的300ms的延迟. 延迟为什么存在 …在移动浏览器中,当你点击按钮的单击事件时,将 ...
- django防止表单数据重复提交
思路: 在Asp.net中存在Page.IsPostback的方法,所以对django中表单提交数据的重复提交的数据采用相似方法实现,即在页面第一次访问时,即访问方法为GET方法在view中 ...
- 1207.1——C语言 函数
函数可以分为无参函数和有参函数. 无参函数的定义 无参函数定义的一般形式如下:返回值类型 函数名(){ 函数体} 说明: 返回值类型可以是C语言中的任意数据类型. 函数名是标识符的一种,命名规 ...
- calc()函数的使用
calc()函数算是css中的一个另类了,一般来说css都是直接确定的样式,而calc()函数却是可以动态计算,这和css静态的概念有些区别,但这并不妨碍其优秀的性能. 什么是calc()? calc ...
- Android 6.0 闪光灯的使用
Android6.0 已经抛弃了Camer 相关的API,改用新的API接口CamerManager,下面给出使用的简单实例 package com.inper.duqiang.slashlight; ...
- 17款提高编程效率的css工具
参看下面链接:<17款提高编程效率的css工具>
- nopCommerce 3.3正式发布及新增功能改进
nopCommerce是一套优秀开源且基于Asp.net MVC的开源商城系统,nopCommerce 3.x经历长时间多个版本重构优化改进,目前已经趋于完善与成熟! nopCommerce 3.3正 ...
- jQuery模板插件jsrender
前几天学习jqm+phonegap,用到了一个jquery插件jsrender,(由于app不能用asp.net的服务端控件了,所以我也是醉了...),用于循环展示一下数据. 下面是我用到的几个简单用 ...
- Taglib、EL、OGNL
Taglib.EL.OGNL 阅读目录 1. Taglib(tag library) 标签库 2. EL(Expression Language) 表达式 3. OGNL(Object-Graph N ...
- ckeditor详解
源网页编辑软件FCKEditor在09年发布更新到3.0,并改名为CKEditor.改进后的ckeditor更加模块话,配置更加灵活,和以前的fckeditor使用方式上也有所不同.在我的mvc项目中 ...