C++中,a++、a+=1、a=a+1、++a 有什么区别?
来源:百度知道 编辑:UC知道 时间:2024/05/31 16:18:11
如题。应该如何区别它们呢?a++和++a很容易搞错。
a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值
a+=1: 事实上相当于++a
a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作
++a:将a自增1并返回a
鉴于a++和++a的差别,C++Primer建议用++a作为for循环的递增量。
以上讨论不仅限于int,还着重于对类的重载设计时的考虑。
例如a=2;
a++;输出结果为2;但是内存中它的值自加1了。(先输出a再运算)
例如a=2;
++a;输出结果为3;内存中也是3.(先运算a再输出值)。
例如a=2;
a+=1;意思等同于a=a+1;
a++表示在一个语句中,也就是在分号结束时先不加1,直接代入a的值计算,之后在进行下一条语句计算时,a的值变成了a+1.
a+=1表示a=a+1,也就是把a+1的值赋给a。
++a表示在一条语句中,先让a的值加上1,在参与计算。
a++ 先取值再自加
++a 先自加再取值
a+=1 等同 a=a+1
cout<<a++;
cout<<a;
cout<<a++
cout<<a;
你会知道区别的
C语言中 a=3 a+=a-=a*a a等于多少?
C语言 a+=1 相当与 a++ 还是 ++a
C++中,a++、a+=1、a=a+1、++a 有什么区别?
数学题:1.已知a*a-3a+1=0,求(a*a*a)/(a*a*a*a*a*a+a*a*a+1)的值
c程序中表达式a=a+=a*5的a值是多少?其中a=3
c语言中,b=++a*--a怎么算?
已知a+(1/a)=3,求a×a/a×a×a×a+a×a+1的值
|a-b-c|+|b+c-a|+|a+b+c|=?
设向量a,b,c满足a+b+c=0,(a-b)⊥c,a⊥b,若|a|=1,则|a| +|c| 的值
在c语言中对于A=A+1,A+=1这两个函数该怎么理解?