/*
Name:++i和i++的区别
Copyright: By.不懂网络
Author: Yangbin
Date:2014年2月15日 02:40:27
Description:熟悉前自增或自减的用法
*/
# include <stdio.h>
int main(void)
{
int i,j,k,m;
i = j = ;//等同于i=3 j=3
k = i++; //i++为后自增
m = ++j; //++i是前自增 printf("i=%d,j=%d,k=%d,m=%d\n",i,j,k,m);
return ;
} /*
----------------------
该代码由C-Free 5.0 编写并输出调试结果
--------输出结果------------
i=4,j=4,k=3,m=4
-----------------------------
总结:
自增或自减分为i++和++i
i++ ----> 后自增
++i -----> 前自增
相同点,i++和++i最终都是使i的值加 1;
不同点,后自增是i+1之前的值,前自增是i+1之后的值
*/

自增或自减分为两类:

  • i++ ---->后自增
  • ++i ---->前自增

他们的相同点是不管是后自增还是前自增,最终都是使i的值加1。

上述代码中,i = j =3,i 和 j 的值都为3,不管++j还是i++,最终值都是使i或者j的值加1,所以输出结果为,i = 4;j = 4;

不同点:

后自增i++的值是是i+1之前的值,前自增++i的值是i+1之后的值;

上述代码中

k = i++ ,i++是后自增,k的值等于i+1之前的值,i的值是4,i+1之前的值为3,所以k=3

m = ++j ,++j是前自增,j的值等于j+1之后的值,所以m=4,j+1之后的值为4

自增或自减例子:i++和++i的相同点和不同点的更多相关文章

  1. C语言之自增和自减运算符

    一 自增和自减 自增(++):就是给自己的值再加1 自减(--):就是给自己的值减1 tips: ++(--)可以放在前面,也可以放在后面,效果都是一样,都是会给自身+1(-1) 前缀++(--):会 ...

  2. Java自增和自减操作符——++/--的那些事

    1. 概述 自增操作符(++)和自减操作符(--)是对变量进行加1和减1的操作. 2.分类说明 ++和--是对变量进行自增1和自减1的简写操作符.许多编程任务中经常需要对变量加1或者减1,所以采用这两 ...

  3. C++ 自增、自减运算符的重载和性能分析

    01 ++.--运算符重载函数的格式 自增运算符和自减运算符是有前置和后置之分的,如: a++ // 后置自增运算符 ++a // 前置自增运算符 b-- // 后置自减运算符 --b // 前置自减 ...

  4. C/C++编程笔记:C语言自增(++)和自减(--)运算符详解,笔记分享

    一个整数类型的变量自身加 1 可以这样写: a = a + 1; 或者 a += 1; 不过,C语言还支持另外一种更加简洁的写法,就是: a++; 或者 ++a; 这种写法叫做自加或自增,意思很明确, ...

  5. 转:自增(自减)在Java与C中的区别

    转自:http://seiyatime.blog.sohu.com/84358295.html 话说昨日面试,在笔试的25个选择题中,涉及自增自减不止一两题,以前在开发过程中并没太在意这方面的问题,也 ...

  6. javascript中的自增与自减

    一直都对自增与自减的执行顺序有点糊涂,今天查了资料,来总结一下 a++(a--),就是指当时计算a,当下一次使用这个变量的时候才执行++或者-- ++a(--a),就是指当时就计算++或者-- 例1: ...

  7. C++自增和自减运算符(--和++)

    在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4)--i ...

  8. Java基础知识(一) 自增、自减运算符

    .d1 { border-style: none } .d2 { border-style: solid } .d3 { border-style: dotted } .d4 { border-sty ...

  9. Perl中的自增、自减

    自增和自减 perl也支持数值类型的自增和自减操作.不仅如此,还支持字符.字符串的自增.自减. 如果自增(++)和自减(--)符号放在数值的前面,则先增减,再返回: 如果自增(++)和自减(--)符号 ...

随机推荐

  1. mysql 基本使用

    SQL分类 -------------------数据库------------ 创建数据库  create database xxx; 查询所有的数据库 show databases; 查询当前数据 ...

  2. jquery 浏览器放大缩小函数resize

    <script> $(function(){ $(window).resize(function(){ var _height = $(window).height(); var _con ...

  3. Linux学习之停止进程

    首先,用ps查看进程,方法如下: ps -ef ……smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       18 ...

  4. C++ 获取UUID

    #include <string> #include <stdio.h> #if defined(WIN32)||defined(WINCE)||defined(WIN64) ...

  5. JavaWeb核心编程之使用Eclipse开发JavaWEB项目

    文章目录 1.eclipse切换到javaee项目 2.创建服务器(如果没有server选项, 怎么做) 3.定制新建面板内容 4.创建动态web工程 1.eclipse切换到javaee项目 如图 ...

  6. php数组分页类

    <?php class ArrayPage{ public $totalPage;//全部页数 public $lists;//每页显示数目 public $arr = array();//分页 ...

  7. visual studio 配置OpenGL环境

    首先在网上下载一个GLUT工具包. glut.zip,大约一百多kb. 解压之后得到这么几个文件: 将glut.h复制到C:\Program Files (x86)\Microsoft Visual ...

  8. retain、strong、weak、assign区别

    1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a 和b指向同一块内存,请问当a不再需要这块内存,能 ...

  9. uva 825 - Walking on the Safe Side(dp)

    题目链接:825 - Walking on the Safe Side 题目大意:给出n,m,现在给出n行数据, 每行有k(k为不定值)个数字, 第一个数字代表行数, 后面k - 1个数代表当前行的这 ...

  10. javascript打乱数组顺序-----1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...