1、单独使用

在C语言中,我们使用i++来实现自增操作,同样++i也适用于自增操作的,这时的i++++ii=i+1是等价的。

#include <stdio.h>
int main()
{int i,j;i=0;j=0;i++;++j;printf("i=%d,j=%d",i,j);
}

输出结果为i=1,j=1

2、在赋值语句中

a=i++ 先将i的值赋值给a,然后i自增
b=++i i先自增,然后再将i的值赋值给b

#include <stdio.h>
int main()
{int i,j,a,b;i=j=0;a=i++;b=++j;printf("a=%d,i=%d,b=%d,j=%d",a,i,b,j);
}

输出结果:a=0,i=1,b=1,j=1

3、在判断表达式中:

同赋值语句中的功能相似

  1. i++:先执行判断,再加1
#include<stdio.h>int main()
{int i=0;while(i++){ printf("i=%d\n",i);if(i==3)  break;}printf("i=%d\n",i);
}

输出结果为 i=1

分析:i++先把i的值0拿出来做判断条件,此时while(0)条件为假,所有不执行while循环体,但是判断完成后,i执行+1动作(i=i+1),所以i=1,输出值为1;

  1. ++i:先自增加1,再执行判断
#include<stdio.h>int main()
{int i=0;while(++i){ printf("i=%d,",i);if(i==3)  break;}printf("i=%d\n",i);
}

输出结果为:i=1,i=2,i=3,

分析:++i,执行过程先把i的值执行i=i+1,此时i=1再进行判断,所有while(1)条件为真,然后在执行循环体,输出i=1回车换行,if不成立,继续循环;依次类推

参考文章

C语言中的i++和++i的区别与联系相关推荐

  1. c语言gets和getchar区别,C语言中 gets 和 getchar 有什么区别

    C语言中 gets 和 getchar 有什么区别 发布时间:2020-07-22 09:14:29 来源:亿速云 阅读:81 作者:Leah 这期内容当中小编将会给大家带来有关C语言中 gets 和 ...

  2. C语言中fun1()和fun2(void)的区别

    C语言中fun1()和fun2(void)的区别 在一次C语言实训中我发现老师在对无参函数的书写中写成fun2(void)的形式,这引起了我的好奇心,我只知道fun1()和fun2(void)是两个无 ...

  3. C语言中的sizeof()和strlen()的区别

    C语言中的sizeof和strlen的区别 sizeof() strlen 大量案例(想深入了解可以看) 1.(花括号int的sizeof()) 2.(花括号char的sizeof()) 3.(字符串 ...

  4. 计算机汇编指令mov和mova,汇编语言中mov和lea指令的区别详解

    指令(instruction)是一种语句,它在程序汇编编译时变得可执行.汇编器将指令翻译为机器语言字节,并且在运行时由 CPU 加载和执行. 一条指令有四个组成部分: 标号(可选) 指令助记符(必需) ...

  5. c语言is int number,C语言中NSInteger,NSNumber以及Int的区别

    NSInteger和NSNumber 首先:NSInteger,NSNumber并没有什么关系,更不要想当然的以为二者还有什么继承关系,甚至还有人问NSInteger是不是NSNumber的子类?答案 ...

  6. C语言中的strlen与sizeof的区别

    sizeof与strlen是有着本质的区别,sizeof是求数据类型所占的空间大小,而strlen是求字符串的长度,字符串以/0结尾.区别如下: (1) sizeof是一个C语言中的一个单目运算符,而 ...

  7. Java语言中 void和public void的区别,static和public static的区别。

    void 中文意思是 空的,无效的. 编程=数据结构+算法: 在Java语言中,有8种基本的基本数据类型,当用java这个对象语言去描述现实实体时.基本数据类型就用不到了,要专门来引用 一种数据来描述 ...

  8. 汇编语言中b和bl关键字的区别

    汇编语言中b和bl关键字的区别是什么? b save_boot_params bl v7_arch_cp15_set_l2aux_ctrl b是普通的跳转语句,跳到save_boot_params之后 ...

  9. C语言中static全局变量与普通的全局变量区别

    下面是中兴通讯2012校招笔试题的一道问答题: 1. static全局变量与普通的全局变量有什么区别 ? 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量. 全局变量本身就是静 ...

最新文章

  1. 批处理如何做到等待用户输入一个值(dos命令行)
  2. Java获取数据库表的字段信息,及如何将ResultSet转为json
  3. 如何快速打造企业ISO体系文件管理
  4. koa2 mysql增删改查_koa2实现对mysql的增删改查函数封装
  5. 爬虫技术前置准备工作 http url 请求方法 状态码 等等
  6. 打造Linux回收站
  7. 罗海雄:仅仅使用AWR做报告? 性能优化还未入门(含PPT)
  8. DOM、Window操作
  9. python微信自动发消息_python实现给微信指定好友定时发消息
  10. 利用R语言编写量化投资策略
  11. 无人机视觉检测算法研究及数据集汇总
  12. 【Domoticz】玩转Domoticz平台——配合ESPEasy固件,开个头,以后玩起来起来再更新博客
  13. 4大主流CPU处理器技术架构详解
  14. LCD屏幕,IPS屏幕,TFT屏幕,SLCD屏幕和AMOLED手机屏幕介
  15. JS Boolean 初始值
  16. 普通函数的this指向以及更改this指向
  17. [CTFSHOW]命令执行55-74
  18. Codeforces Global Round 2 B. Alyona and a Narrow Fridge(二分)
  19. 『VulnHub系列』DC: 9-Walkthrough
  20. h5封装table表格 vue

热门文章

  1. 企业如何留住客户?精诚CRMPM给你答案
  2. 如何策划一场销量百万的直播间,详细阐述其中玩法技巧丨国仁网络
  3. 游戏耳机什么牌子好?安卓蓝牙耳机推荐!
  4. Python使用smtplib发送邮件
  5. @Async注解测试用例附源码(一)
  6. 辗转相除法原理学习记录
  7. Linux内存从0到1学习笔记(9.1,内存优化调试之kswapd0触发原理)
  8. Charm of flowers
  9. c++指针当做数组用
  10. 解释型语言和编译型语言的比较