C语言前自增与后自增

C语言前自增与后自增教程

C 语言 中,自增运算符与自减 运算符 都是有前自增与后自增、前自减和后自减的区别的,前自增与后自增的区别是前自增是先自增后赋值,后自增是先赋值后自增。

前自减与后自减的区别是前自减是先自减后赋值,后自减是先赋值后自减。

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。

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。

案例

前自增与后自增运算

前自增与后自增的区别

#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); }

程序运行后,控制台输出如下:

04_C语言前自增与后自增.png

我们定义了变量 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); }

程序运行后,控制台输出如下:

05_C语言前自减与后自减.png

我们定义了变量 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语言前自增与后自增区别总结

在 C 语言中,自增运算符与自减运算符都是有前自增与后自增、前自减和后自减的区别的,前自增与后自增的区别是前自增是先自增后赋值,后自增是先赋值后自增。

前自减与后自减的区别是前自减是先自减后赋值,后自减是先赋值后自减。