i++和++i的深入理解
研究了很久,对这个一直很模糊。相信大家,看完这篇文章,会有更深一层的认识!
一直以来,++ --语法浪费了太多人的时间。说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。
由于中国的C语言教程长期以来被谭浩强主宰,而谭教授又把++ --作为一个C语言重点来教,并增加了一些难点,把本来很简单的语法,搞得复杂无比!
简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i; (先i = i + 1,再使用i的值)
而 a = i++,相当于 a = i; i=i+1; (先使用i的值,再i = i + 1)
如果实在搞不明白++ --怎么回事,那也不是什么天塌下来的事。
因为a=++i完全可以写成 i++; a=i。 <br>a=i++完全可以写成 a=i; i++。
而且,这也是一种好的程序风格:++ -- 语句如非特殊需要,请单独一行使用。
int i ,j;
i = j = 3;
i++; //表达式的值是 3,执行后 i = 4
++j; //表达式的值是 4,执行后 j = 4
了解???
int k;
k = i++; // k = 4
k = ++j; // k = 5
i++和++i的深入理解的更多相关文章
- 理解CSS视觉格式化
		前面的话 CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应 ... 
- 彻底理解AC多模式匹配算法
		(本文尤其适合遍览网上的讲解而仍百思不得姐的同学) 一.原理 AC自动机首先将模式组记录为Trie字典树的形式,以节点表示不同状态,边上标以字母表中的字符,表示状态的转移.根节点状态记为0状态,表示起 ... 
- 理解加密算法(三)——创建CA机构,签发证书并开始TLS通信
		接理解加密算法(一)--加密算法分类.理解加密算法(二)--TLS/SSL 1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下. ... 
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
		一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ... 
- 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念
		一.前言 DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ... 
- 学习AOP之透过Spring的Ioc理解Advisor
		花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ... 
- ThreadLocal简单理解
		在java开源项目的代码中看到一个类里ThreadLocal的属性: private static ThreadLocal<Boolean> clientMode = new Thread ... 
- JS核心系列:理解 new 的运行机制
		和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象. 但在 javascript 中,万物皆对象,为什么还要通过 ... 
- 深入理解JS 执行细节
		javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境栈.全局对象.执行环境.变量对象.活动对象.作用域和作用域链等 ... 
- 浅谈我对DDD领域驱动设计的理解
		从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ... 
随机推荐
- Freemarker 之 Java静态化 实例一
			Freemarker是一种强大的web端模板技术,在当前Web开发中,SEO和客户端浏览速度尤为重要,其中将网页静态化是一个很好的解决方案.下面介绍Java中web开发结合Freemarker来实现静 ... 
- Java的多线程机制系列:(三)synchronized的同步原理
			synchronized关键字是JDK5之实现锁(包括互斥性和可见性)的唯一途径(volatile关键字能保证可见性,但不能保证互斥性,详细参见后文关于vloatile的详述章节),其在字节码上编译为 ... 
- 【poj1716】 Integer Intervals
			http://poj.org/problem?id=1716 (题目链接) 题意 给出n个区间,要求取出最少数量的不同的自然数,使每个区间中至少包含2个取出的数. Solution 差分约束. 运用前 ... 
- JSP登录验证并显示信息
			加入C标签: 加入jstl.jar 和standard.jar加入Lib文件夹中 将c.tld放入WEB-Info文件夹中 index.jsp <%@ page language="j ... 
- KindEditor提交用jquery获取不到数据的解决方法
			http://www.douban.com/note/257795704/ 如果说用php接收的话,在HTML中这样写就可以了var editor;KindEditor.ready(function( ... 
- jQueryEasyUI DateBox的基本使用
			http://www.cnblogs.com/libingql/archive/2011/09/25/2189977.html 1.基本用法 代码: 1 2 3 4 5 6 7 8 9 10 11 1 ... 
- easyUI框架之学习3--表格datagrid
			@model MVCEasyUI.Models.Sale.PageResult<MVCEasyUI.Models.Sale.Order> @{ ViewBag.Title = " ... 
- javascript的字符串模板
			在其他语言存在字符串内插(string interpolation)或者叫变量内插(Variable interpolation).ES6中的称为template string. 模板字符串使用反引号 ... 
- 弱键(Weak Key, ACM/ICPC Seoul 2004, UVa1618)
			I think: 给出k(4≤k≤5000)个互不相同的整数组成的序列Ni,判断是否存在4个整数Np.Nq.Nr和Ns(1≤p<q<r<s≤k),使得Nq>Ns>Np&g ... 
- DEDECMS全版本gotopage变量XSS ROOTKIT 0DAY
			影响版本: DEDECMS全版本 漏洞描叙: DEDECMS后台登陆模板中的gotopage变量未效验传入数据,导致XSS漏洞. \dede\templets\login.htm 65行左右 < ... 
