小波带您探究c语言中的前++与后++; 欢迎吐槽,欢迎加QQ463431476。
欢迎关注!  现在来探究: 咱们先看第一个
i被赋值0,i++(后++)并没有输出1。   现在i被赋值0,++i,也就是前++后输出了1。   i被赋值0,前++ 的话,就是自身先加1   就自身赋值变成1 ,后面的i的值都是1了。   i被赋值0,先是后++,后++意思是 自己先被赋值,赋值完后等本语句结束后就自己加1了。第一个printf输出的是i开始被赋的值0, 第一个printf之后就是一个(;)分号,分号意思是这个语句的结束。   这条语句结束,这时候i就偷偷的自己加上1了,第2个printf输出的就是上一个语句处理后i的值了。
  i被赋值0,i++ ; 这是一条语句。因为有分号。 我们说 后加加 就是 先自己赋值,然后等待本语句结束时自己再加1。 i++ ; 执行的结果就是 0+1=1了。printf只管输出 i的值了。
  i先被赋值0, i++后面带个分号“;” 就是这条语句结束,  i++;处理的结果是 0+1=1 后面的i 的值便是1了。  
i被赋值为0,++i; 前++就是自己先加1,再赋值给自身。 ++i; 处理 的结果是 0+1=1。

i先赋值为0,++i; (前++)就是 自己先0+1=1,然后把1再赋值给自己 i就变成了1 i++; (后++) 前面i已经被赋值为1了,这里i++; 也就是先把上一个i的值1
 
赋给自己变成1,但是遇到分号(;)意味着这条语句的结束, 语句结束i++; 就执行1+1=2 了。  
 
i被赋值为0,前++, i就变成1 printf里面的i++ 输出的只能是自己被赋的那个值1 如果下面再加个printf("%d",i);的话输出的i就是为2了
总结: 前++就是 先自己加1,加完后赋值给自己。            后++就是 先自己赋值,赋完值还必须等语句结束才能加1。
 
口诀:前+  后赋。这是我想的。        
 
 意思是:前面++ 第一步先加+1                          后赋 就是后++的 就先赋值。   此外前-- 与后-- 道理也是一样的。

探究C语言中的前++和后++的更多相关文章

  1. 类中函数前、后、参数加const

    1.参数加const:int fun(const int a) a在函数里不可被修改 2.函数前加const:const int* const fun() 这种一般是返回的指针或者是引用,加const ...

  2. js中的前绑定和后绑定详解

    这篇文章详细介绍了js中的前绑定和后绑定,有需要的朋友可以参考一下 其主要意思就是看我有没有用过前绑定,即Dom树中的某些元素在还没有创建出来时,就指定该类型的元素一出生就应该拥有的某些事件.在实际开 ...

  3. go语言中在变量后加上接口是什么意思?

    如题刚刚开始学习go 语言有些不懂: a.Data = make(map[string]interface{}) 我认为它是在申请a.Data map为字符串类型的空间,那么它后面接一个空的inter ...

  4. sql-实现select取行号、分组后在分组内排序、每个分组中的前n条数据

    表结构设计: 实现select取行号 sql局部变量的2种方式 set @name='cm3333f'; select @id:=1; 区别:set 可以用=号赋值,而select 不行,必须使用:= ...

  5. DS实验题 Order 已知父节点和中序遍历求前、后序

    题目: 思路: 这题是比较典型的树的遍历问题,思路就是将中序遍历作为位置的判断依据,假设有个节点A和它的父亲Afa,那么如果A和Afa的顺序在中序遍历中是先A后Afa,则A是Afa的左儿子,否则是右儿 ...

  6. c语言中会遇到的面试题

    预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)         #define SECONDS_PER_YEAR (60 ...

  7. 快速web开发中的前后端框架选型最佳实践

    这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...

  8. Java语言中的面向对象特性总结

    Java语言中的面向对象特性 (总结得不错) [课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知 ...

  9. python语言中的编码问题

    在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的 ...

随机推荐

  1. myeclipse打红叉

    因为还没有告诉myeclipse去验证它.解决方法,选中js文件,右键Myeclipse--ManaValidation--ExcludeResource--(选中全部或者那个js)--OK

  2. Struts2框架的自定义类型转换器

    前言:对于java的基本数据类型及一些系统类(如Date类.集合类),Struts2提供了内置类型转换功能,但是也有一定的限制.所以就演示出自定义类型转换器 一.应用于局部类型转换器 eg.用户登录出 ...

  3. Midnight.js – 实现奇妙的固定头部切换效果

    Midnight.js 是一款 jQuery 插件,在页面滚动的时候实现多个头设计之间的切换,所以你总是有一个头与它下面的内容层叠,看起来效果很不错. Midnight.js 可以让你轻松实现这种切换 ...

  4. Face++ – 提供给你实时的脸部识别 API

    Face++ 是一个小巧,功能强大,跨平台的服务,由Megvii公司建立,致力于建立一个新的视觉平台.它使用计算机视觉尖端科技和数据挖掘,提供3个核心视觉服务(探测,识别和分析).基于 Face++ ...

  5. 使用 SVG 制作单选和多选框动画【附源码】

    通过 JavaScript 实现 SVG 路径动画,我们可以做很多花哨的东西.今天我们要为您介绍一些复选框和单选按钮效果.实现的主要思路是隐藏原生的输入框,使用伪元素创造更具吸引力的样式,输入框被选中 ...

  6. [deviceone开发]-viewShower和listView

    一.简介 viewshower里嵌套listview,实现复杂的列表效果. 二.效果图 三.相关下载 http://source.deviceone.net/source-detail.html?do ...

  7. 在不知下面有几个元素的时候,要去除最后一个元素的下边框jquery代码

    <script> $(document).ready(function() { $(".search_list dl").each(function() {//遍历所有 ...

  8. linux下发布的执行文件崩溃的问题定位 心得一则

    C++ Release版本发布到客户处执行时,如果程序崩溃,有什么办法能够快速的确认程序的问题呢? 如果能gdb调试的话,比较简单了,可以使用gdb命令,类似如下: gdb ##set args ** ...

  9. 复杂sql分组查询 ( pivot)

    一个数据表里面字段有年.月.日.金额.支付方式等字段,然后现在想写个sql语句,把每一天的每种支付方式金额(支付方式有多重)排在同一行, 最后在增加一列小计当前的所有支付方式的金额.如下图: 原sql ...

  10. Unable to execute dex: Multiple dex files define(错误分析)

    eclipse工程包名与依靠的代码库包名不能冲突,否则运行程序程序会出错 错误提示: