在 C 语言 中,自增运算符与自减 运算符 都是有前自增与后自增、前自减和后自减的区别的,前自增与后自增的区别是前自增是先自增后赋值,后自增是先赋值后自增。
前自减与后自减的区别是前自减是先自减后赋值,后自减是先赋值后自减。
运算符 | 语法 | 例子 | 结果 |
---|---|---|---|
后自增 | a++ | int a = 0; int b = a++; | a = 1, b = 0 |
前自增 | ++a | int a = 0; int b = ++a; | a = 1, b = 1 |
后自增是先把 变量 a 的值赋值给变量 b,然后变量 a 再自增,而前自增是先把变量 a 的值自增,然后再把自增后的变量 a 的值赋值给变量 b。
运算符 | 语法 | 例子 | 结果 |
---|---|---|---|
后自增 | a– | int a = 0; int b = a–; | a = -1, b = 0 |
前自增 | –a | int a = 0; int b = --a; | a = -1, b = -1 |
后自减是先把变量 a 的值赋值给变量 b,然后变量 a 再自减,而前自减是先把变量 a 的值自减,然后再把自减后的变量 a 的值赋值给变量 b。
前自增与后自增的区别
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
int a = 100;
int b = a++;
int c = 100;
int d = ++c;
printf("a = %d, b = %d\n", a, b);
printf("c = %d, d = %d\n", c, d);
}
程序运行后,控制台输出如下:
我们定义了变量 a,赋初始值为 100,接着,我们对 a 进行后自增,并同时赋值给变量 b,此时,我们打印变量 a 和 b 的值。
我们发现变量 a 的值是 101,变量 b 的值是 100,因为,变量 a 是先把自增前的值赋值给了变量 b,所以变量 b 是 100,然后变量 a 再去自增,此时,变量 a 变成了 101。
接着,我们定义了变量 c,赋初始值为 100,接着,我们对 c 进行前自增,并同时赋值给变量 d,此时,我们打印变量 c 和 d 的值。
我们发现变量 c 的值是 101,变量 d 的值是 101,因为,变量 c 是先自增,然后把自增后的值值赋值给了变量 d,所以变量 d 是 101,同时变量 a 也自增了变成了 101。
前自减与后自减的区别
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
int a = 100;
int b = a--;
int c = 100;
int d = --c;
printf("a = %d, b = %d\n", a, b);
printf("c = %d, d = %d\n", c, d);
}
程序运行后,控制台输出如下:
我们定义了变量 a,赋初始值为 100,接着,我们对 a 进行后自减,并同时赋值给变量 b,此时,我们打印变量 a 和 b 的值。
我们发现变量 a 的值是 99,变量 b 的值是 100,因为,变量 a 是先把自减前的值赋值给了变量 b,所以变量 b 是 100,然后变量 a 再去自减,此时,变量 a 变成了 99。
接着,我们定义了变量 c,赋初始值为 100,接着,我们对 c 进行前自减,并同时赋值给变量 d,此时,我们打印变量 c 和 d 的值。
我们发现变量 c 的值是 99,变量 d 的值是 99,因为,变量 c 是先自减,然后把自减后的值赋值给了变量 d,所以变量 d 是 99,同时变量 a 也自减了变成了 99。
在 C 语言中,自增运算符与自减运算符都是有前自增与后自增、前自减和后自减的区别的,前自增与后自增的区别是前自增是先自增后赋值,后自增是先赋值后自增。
前自减与后自减的区别是前自减是先自减后赋值,后自减是先赋值后自减。