C++中前缀运算符和后缀运算符的区别是什么?
在前缀版本(即 ++i)中,i 的值会递增,表达式的值为 i 的新值。所以它基本上是先递增然后赋值给表达式。
在后缀版本(即 i++)中,i 的值会递增,但是表达式的值为 i 的原始值。所以它基本上是先将值赋给表达式,然后递增变量。
让我们来看一些代码来更好地理解——
示例
#include<iostream>
using namespace std;
int main() {
int x = 3, y, z;
y = x++;
z = ++x;
cout << x << ", " << y << ", " << z;
return 0;
}输出
这将给出以下输出:
5, 3, 5
为什么会这样?让我们详细看看——
- 将 x 初始化为 3
- 将 y 赋值为通过计算表达式 x++ 得到的值,即递增前的 x 值,然后递增 x。
- 递增 x,然后将 z 赋值为通过计算表达式 ++x 得到的值,即递增后的 x 值。
- 打印这些值
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP