01-3 算术运算符-递增递减
算数运算符最后的内容。
++
--
分为前置递增和后置递增 他们的作用都是给变量加一(或者减1)
前置和后置的区别是:前置是先给变量+1,然后再进行运算表达式。后置是先进行表达运算,再给变量+1(--同理)
eg
int num1 = 10;
int num2 = 10;
cout << "num1 / num2\t" << num1<< "\t" << num2 << endl;
num1 = ++num1 * 2;
num2 = num2++ * 2;
cout << "num1 / num2\t" << num1 << "\t" << num2 << endl;
输出:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
num1 / num2 10 10
num1 / num2 22 21
num1 = ++num1 * 2
的意思是:先进行 num1+1
操作,再进行num1*2
操作。(所以是 (10+1)*2)
num2 = num2++ * 2
的意思是:先进行 num2*2
操作,再进行num2+1
操作。(所以是 (10*2+1)
所以,--
同理,不再赘述。可以看文件。
请注意,前置递增和后置递增是有区别的。
-
前置递增
#include
using namespace std; int main() { int a = 10; cout << "a 初始的数值是" << a << endl; ++(++(++(++a))); cout << "a 现在的数值是" << a << endl; return 0; } 运行结果:
a 初始的数值是10 a 现在的数值是14
在前置递增中,是可以循环多次递增的,比如上面代码中的:
++(++(++(++a)));
-
后置递增
#include
using namespace std; int main() { int a = 10; cout << "a 初始的数值是" << a << endl; a++; cout << "a 后置一次的数值是" << a << endl; //(a++)++; 报错 cout << "a 现在的数值是" << a << endl; return 0; } 如果后置递增中循环后置递增,则会出现报错,报错如下:
表达式必须是可修改的左值
递减同理,前置递减可以循环递减,后置不可以。
:-)