📜  C / C++中的预增量和后增量

📅  最后修改于: 2021-05-26 01:38:31             🧑  作者: Mango

预增量运算符:预增量运算符用于在表达式中使用变量之前对变量的值进行增量。在Pre-Increment中,值首先递增,然后在表达式内部使用。
句法:

a = ++x;

在这里,如果’x’的值为10,则’a’的值为11,因为’x’的值在表达式中使用之前已被修改。

CPP
// CPP program to demonstrate pre increment
// operator.
#include 
using namespace std;
  
int main()
{
    int x = 10, a;
  
    a = ++x;
    cout << "Pre Increment Operation";
  
    // Value of a will change
    cout << "\na = " << a;
  
    // Value of x change before execution of a=++x;
    cout << "\nx = " << x;
  
    return 0;
}


CPP
// CPP program to demonstrate pre increment
// operator.
#include 
using namespace std;
  
int main()
{
    int x = 10, a;
  
    a = x++;
  
    cout << "Post Increment Operation";
  
    // Value of a will not change
    cout << "\na = " << a;
  
    // Value of x change after execution of a=x++;
    cout << "\nx = " << x;
  
    return 0;
}


C++
#include 
using namespace std;
  
int main()
{
  
    int x = 10;
  
    cout << "Value of x before post-incrementing";
  
    cout << "\nx = " << x;
  
    x = x++;
  
    cout << "\nValue of x after post-incrementing";
  
    // Value of a will not change
    cout << "\nx = " << x;
  
    return 0;
}


输出 :

Pre Increment Operation
a = 11
x = 11

后增量运算符:后增量运算符用于在完全执行使用后增量的表达式之后,对变量的值进行增量。在后递增中,值首先在表达式中使用,然后递增。
句法:

a = x++;

在这里,假设’x’的值为10,则变量’b’的值为10,因为使用了’x’的旧值。

CPP

// CPP program to demonstrate pre increment
// operator.
#include 
using namespace std;
  
int main()
{
    int x = 10, a;
  
    a = x++;
  
    cout << "Post Increment Operation";
  
    // Value of a will not change
    cout << "\na = " << a;
  
    // Value of x change after execution of a=x++;
    cout << "\nx = " << x;
  
    return 0;
}

输出 :

Post Increment Operation
a = 10
x = 11

后增值运算符的特殊情况:如果我们将后增值分配给同一变量,则该变量的值将不会递增,即它将保持与以前相同。

句法:

a = a++;

在此,如果“ x”的值为10,则“ a”的值为10,因为将“ x”的值分配给后递增的值“ x”。

C++

#include 
using namespace std;
  
int main()
{
  
    int x = 10;
  
    cout << "Value of x before post-incrementing";
  
    cout << "\nx = " << x;
  
    x = x++;
  
    cout << "\nValue of x after post-incrementing";
  
    // Value of a will not change
    cout << "\nx = " << x;
  
    return 0;
}

输出:

Value of x before post-incrementing
x = 10
Value of x after post-incrementing
x = 10

此特殊情况仅适用于后递增和后递减运算符,而在这种情况下,前递增和前递减运算符正常工作。

一起评估发布前和发布前增量

后缀++的优先级大于前缀++,并且它们的关联性也不同。前缀++的关联性从右到左,而后缀++的关联性从左到右。

  • 后缀++的关联性从左到右
  • 前缀++的关联性从右到左

你也许也喜欢:

  • https://www.geeksforgeeks.org/difference-between-pp-and-p/
  • https://www.geeksforgeeks.org/c-operator-precedence-associativity/
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”