关于a++与++a?一篇文章搞懂自增运算符

本文详细介绍了C语言中自增运算符a++和++a的区别,通过实例解析其语法规则和使用场景。讨论了在不同情况下的赋值与运算顺序,帮助读者理解这两个运算符的综合应用,并提供了经典题目和解题思路,以助于巩固概念。

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

🪐写在前面的废话:a++与++a从入门学C就开始困扰我,学了忘忘了又学。关键是当时并没有理解透彻。最近在学习闭包的知识点时又遇到了这个问题,索性整理一遍,一次彻底搞定自增运算符


语法规则

a++先用后加,++a先加后用。

基本运算

a++

var a=1;
b=a++;              //b=a++;先把a的值赋给b,然后a自增1 
console.log(b);     //输出:1
console.log(a);     //输出:2
​
//同理
var a=1;
console.log(a++);   //输出:1,此时a=2

++a

var a=1;
b=++a;              //b=++a;a先自增1,然后把自增后的值赋给b
console.log(b);     //输出:2
console.log(a);     //输出:2
​
//同理
var a=1;
console.log(++a);   //输出:2,此时a=2

综合理解

var a=1;
console.log(a++);   //输出:1 ,此时a=2
console.log(++a);   //输出:3 ,此时a=3
console.log(++a);   //输出:4 ,此时a=4
console.log(a++);   //输出:4 ,此时a=5
console.log(a);     //输出:5 ,此时a=5

经典题型

🌰题型一

var a=1;
a=a++;
console.log(a);     //输出:1
//解题思路:
//1. 先把a的值备份一份并直接赋予等号左边的变量a,此时,左边的变量a的值依然是1;
//2. 等号右边的a把备份值赋予出去后,自己在原来的数值上自加1,就为2;
//3. 输出变量a的值。关键是:输出语句括号里的变量代表的是哪一个a? 如果输出语句上面有一个赋值的语句,那么一定是等号左边的a。
​
//同理可得
var a=1;
a=++a;
console.log(a);     //输出:2

🌰题型二

var a=1;
a=a++;              //此时a=1
console.log(a++);   //输出:1,a=2
//解题思路:相当于在题型一的基础上操作,再结合基本运算中的直接输出a++可得出结论
​
//同理可得
var a=1;
a=a++;              //此时a=1
console.log(++a);   //输出:2,a=2
​
//同理可得
var a=1;
a=++a;              //此时a=2
console.log(a++);   //输出:2,a=3
​
//同理可得
var a=1;
a=++a;              //此时a=2
console.log(++a);   //输出:3,a=3

🌰检验一下1

var num=9;
num=num++;              
console.log(num);   //第一个输出:❓
num=++num;
console.log(++num); //第二个输出:❓

   答案: 第一个输出 9 ,第二个输出 11

🌰检验一下2

let a = 5;
let b = 4;
console.log(++b+a*2+b++)    

    答案: 输出20

    过程: ①++b --> b=5 ②a*2 --> 10 ③b++ --> b=5 在当前语句结束后再进行自增 ④5+10+5=20

🌰检验一下3

let a = 5;
console.log(++a+a++)    //第一个输出:❓

let a = 5;
console.log(a+++++a)    //第二个输出:❓     

    答案: 第一个输出 12 ,第二个输出 12

    解析: 第一个 6+6=12,第二个 5+7=12 


🚗参考文章:关于a++和++a_Huya天涯过客的博客-优快云博客_a++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值