C++ 自增自减运算符

返回上一级

自增运算符 ++ 会把操作数加 1,自减运算符 -- 会把操作数减 1

所以

a++

等同于

a = a +1;

同样的

a--;

等同于

a = a-1;

无论是自增运算符还是自减运算符,都可以放在操作数的前面 (前缀) 或后面 (后缀)

x = x+1;

可以写成:

++x; // 前缀形式

或者

x++; // 后缀形式

但如果把自增的结果赋值给另一个变量,则前缀形式与后缀形式之间有一点不同

  1. 前缀形式,则会在表达式计算之前完成自增或自减
  2. 后缀形式,则会在表达式计算之后完成自增或自减

所以

int x = a++;
int y = b--;

等同于

int x = a;
a = a-1;

int y = b;
b = b-1;

int x = ++a;
int y = --b

等同于

a = a+1;
int x = a;


b = b+1;
int y = b;

我们写一个范例来演示下这种区别

#include <iostream>

int main()
{
   int a = 21;
   int c ;

   // a 的值在赋值之前不会自增
   c = a++;   
   std::cout << "do c = a++; c is: " << c << std::endl ;

   // 表达式计算之后,a 的值增加 1
   std::cout << "a is :" << a << std::endl ;

   // a 的值在赋值之前自增
   c = ++a;  
   std::cout << "do c = ++a; c is  :" << c << std::endl ;

   // 表达式计算之后,a 的值增加 1
   std::cout << "a is :" << a << std::endl ;

   return 0;
}

编译和运行以上范例,输出结果如下:

do c = a++; c is: 21
a is :22
do c = ++a; c is  :23
a is :23

返回上一级

C++ 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.