C语言自加自减运算符(++i / i++) - C语言零基础入门教程

20 篇文章 6 订阅

目录

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

除了前面文章讲解的逻辑运算符 / 三目运算符 / 逗号表达式C 语言中自加 ++ / 自减 -- 运算符也是开发中使用比较频繁的一种运算符;在实际编写中,尤其对初学者或者很久没接触它的,会对它的原理和运算结果产生混淆,接下来做详细辨析。

一.C 语言自加++ / 自减 -- 运算符简介

C 语言自加 ++ / 自减 -- 运算符实际就是对变量本身做 +1 或者 -1 操作,例如:

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - 自增/自减运算符(i++/++i/--i/i--)
//@Time:2021/05/28 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/

#include "stdafx.h"
#include "stdio.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
	int a = 0;
	int b = 0;
	int c = 0;
	int d = 0;
	printf("a = %d b = %d c = %d d = %d \n", a,b,c,d);
	a++; //等价 a = a + 1
	++b; //等价 b = b + 1
	c--; //等价 c = c - 1
	--d; //等价 d = d - 1
	printf("a = %d b = %d c = %d d = %d \n", a, b, c, d);
	system("pause");
	return 0;
}

/*
输出结果:

a = 0 b = 0 c = 0 d = 0
a = 1 b = 1 c = -1 d = -1
请按任意键继续. . .
*/

可能看到这里不少小伙伴有个疑问?++a 和 a++ 计算结果都是 1 ,前 ++++ 两者有什么区别??

1.++++ 的区别

无论前++,后++,最后都会自增1,区别在于是先自增在参与运算,还是先参与运算再加1操作(自减与自增类似)。

  • ++:先进行++操作,再参与运算。
  • ++:先参与运算,再进行++操作。

2.---- 的区别

无论前--,后--,最后都会自减1,区别在于是先自减在参与运算,还是先参与运算再减1操作(自减与自增类似)。

  • --:先进行--操作,再参与运算。
  • --:先参与运算,再进行--操作。

二.C 语言自加++/自减--运算符实战

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - 自增/自减运算符(i++/++i/--i/i--)
//@Time:2021/05/28 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/

#include "stdafx.h"
#include "stdio.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
	int a = 0;
	int b = 0;
	int c = 0;
	int d = 0;
	int i = 0;
	int j = 0;
	printf("a = %d b = %d c = %d d = %d  i = %d j = %d \n", a, b, c, d, i, j);
	i = a++;  // 后++:先参与运算,i = a,在执行加1操作 a = a + 1
	j = ++b;  // 前++:先执行加1操作 b = b + 1,参与运算,j = 1
	printf("a = %d b = %d i = %d j = %d \n", a, b, i, j);
	i = c--;  // 后--:先参与运算,i = c,在执行减1操作 c = c - 1
	j = --d;  // 前--:先执行加1操作 d = d - 1,参与运算,j = -1
	printf("c = %d d = %d i = %d j = %d \n", c, d, i, j);
	system("pause");
	return 0;
}

/*
输出结果:

a = 0 b = 0 c = 0 d = 0  i = 0 j = 0
a = 1 b = 1 i = 0 j = 1
c = -1 d = -1 i = 0 j = -1
请按任意键继续. . .
*/

需要重点说明的是:++ / -- 在变量前面和后面是有区别的,以++ 自增运算符为例:

  • ++ 在前面叫做前自增(例如: ++a),前自增先进行自增运算,再进行其他操作;
  • ++ 在后面叫做后自增(例如: a++),后自增先进行其他操作,再进行自增运算;

三.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C 语言 Hello World
  7. C 语言代码注释
  8. C 语言数据类型 / 变量类型
  9. C 语言变量声明和定义
  10. C 语言格式控制符/占位符
  11. C 语言 printf 函数
  12. C 语言条件判断 if / else
  13. C 语言逻辑运算符
  14. C 语言三目运算符
  15. C 语言逗号表达式
  16. C 语言自加自减运算符(++i / i++)

未经允许不得转载:猿说编程 » C 语言自加自减运算符(++i / i++)

  • 10
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿说编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值