是不是你感觉每次看完你都会了,过一段时间就忘了谁对谁了,很容易混淆
或者根本就没有理解,接下来让你一分钟学会,直接上干货!!!
首先我们来了解,为什么有这两种运算符,因为我们在程序设计中经常会用到"i=i+1"和"i=i-1",所以C语言为了方便所以提供了更简便的运算符“++”和“- - ”
下面介绍以自增来举例,自减同理
自增
如果只有“单个”变量, 无论++写在前面还是后面都会对变量做+1操作
#include <stdio.h>
int main(){
int number = 10;
number++;
printf("number = %i\n", number); // 11
++number;
printf("number = %i\n", number); // 12
}
实测运行结果如下
如果出现在一个表达式中, 那么++写在前面和后面就会有所区别
- 前缀表达式:++x, - -x;其中x表示变量名,先完成变量的自增或自减1运算,再用x的值作为表达式的值;即“先变后用”,也就是变量的值先变,再用变量的值参与运算。
- 后缀表达式:x++, x–;先用x的当前值作为表达式的值,再进行自增自减1运算。即“先用后变”,也就是先用变量的值参与运算,变量的值再进行自增自减变化
- (表达式的意思是再有其他运算符)举例如下
#include <stdio.h>
int main(){
int number = 10;
int number1 =10;
int a,b;
a = number++;
//将 number 的值(10)赋给 a,然后将 number 的值增加 1。
//因此,此时 a 的值为 10,而 number 的值变为 11。
printf("a = %i\n", a);
b = ++number1;
//将 number1 的值增加 1(变为 11),然后将增加后的值(11)赋给 b。
//因此,此时 b 的值为 11,而 number1 的值也为 11
printf("b = %i\n", b);
}
将上述运算如果改写成下面运算就会简单易懂(实际写程序过程中推荐下面这种写法)
注意点:自增和自减运算只能用于单个变量,不能用于表达式和常量:如++(a+b),++6。