自增自减运算符

本文深入探讨了自增和自减运算符在编程语言中的使用,包括它们的前缀和后缀形式。前缀形式如++x会在运算前增加值,而后缀形式如x++则在运算后增加。这种差异在涉及复杂表达式时尤为关键,例如在涉及多个操作或赋值语句时。通过实例代码展示了++a和a++在不同情境下的行为差异,强调理解这一概念对于避免面试中的陷阱和编写正确代码的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自增自减运算符是很多高级语言中经常使用的:
自增运算符 ++ 会把操作数加 1,自减运算符 – 会把操作数减 1。因此:

x = x+1;
//等同于
x++;
或
x = x-1;
等同于
x--;

无论是自增运算符还是自减运算符,都可以放在操作数的前面或后面。例如:

++x; // 前缀形式
x++; // 后缀形式

前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。同时只能作用于变量,不能作用于字面量,而且自增自减运算符的优先级是比较高的

前缀后缀的区别

详细的讲++a和a++的区别是返回值的不同。假如a=0,那++a返回的是1实际上也是1,但a++返回的是0实际上是1;但这些都不重要。
通俗地说,前置就是先对自己加或减,把自己搞好了再去做其他的,而后置就是先去做其他的,等其他的搞好了,再对自己加或减,这个区别在某些情况下不是什么问题,例如:

   var a = 0;
    a++;//1
    ++a;//1

把递增操作符放在变量后面并不会改变语句的结果,因为递增是这条语句的唯一操作。
但是,当语句中还包含其他操作时,区别就会非常明显了,例如:

	var a = 0;
 	var b = 0;
    var c = 10;
    var d = a++ + c;
    var e = ++b + c;
    console.log(d);//10
    console.log(e);//11
    console.log(a);//1
    console.log(b);//1

所以你只需要记住++a是先加再运算,a++是先运算再加;再面试题里极其麻烦;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值