对于c语言运算符++和--的规则

如题所述

您好!
通俗来讲以++为例,++a表示先+1后赋值,a++表示先赋值后+1;--则与之相同,-1而已。
希望能帮到您!敬请采纳!
中国物联网校企联盟追问

请问您一下,先赋值和后赋值有什么区别?

追答

比如int a=1;int b=++a;b的值就是2,a的值也是2。如果是int b=a++,则b的值是1,a的值是2。这都是指的局部变量。--类似

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-05
运算符前置:++a 可以描述为 a=a+1,然后将a的新值作为计算结果。形象化表示为:a+1→a,a→结果。
运算符后置:a++ 可以描述为 先保存a的当前值,而后令a=a+1,最后取回事先保存的a旧值作为计算结果。 形象化表示为:a→tmp,a+1→a,tmp→结果。本回答被网友采纳

对于c语言运算符++和--的规则
您好!通俗来讲以++为例,++a表示先+1后赋值,a++表示先赋值后+1;--则与之相同,-1而已。希望能帮到您!敬请采纳!中国物联网校企联盟

C语言中++、--结合性是怎样的
1、++ : 优先级为2,结合规则:自右至左。2、|| 和 && :优先级分别在12和11,结合规则为:自左至右。3、++,--是算术运算符,而 ||, && 是逻辑运算符。4、实际上++x || ++y && ++z;是一个逻辑表达式,整个运算过程遵从的是 || 和 && 的结合规则;而在逻辑的每一个条件中(++x...

C语言运算符优先级顺序是怎样的?
C语言运算符优先级顺序如下所示:自增运算符 ++ 和自减运算符 --,在作后缀运算符(如表达式 x++)时,较其用作前缀运算符(如表达式 ++x)时,具有较高的优先级。+、-、* 和 & 运算符记号不但可以当作一元运算符(unary operator,只需要一个操作数),也可以当作二元运算符(binary operator,...

在C语言中, ++,--放前面和放后面的区别是什么?
++(或--)在前面就是先自增(或自减)1然后在运算。放在后面就是先完成后面运算再自增(或自减)1。

C语言中运算符++和——问题
可以这样理解,c=++a*++a*++a;的运算步骤如下:1、++a先运算,a=3 2、第二个++a进行运算,a=4,注意这个时候a已经等于4了,也就是第一步运算出来的a=3被覆盖了 3、运算++a*++a就是4*4=16 4、运算最后一个++a,a=5,为什么这里不覆盖前面的运算呢?因为前面运算的结果不存在a中,...

c语言中的++和--
一个前缀的++运算符会把运算对象+1 然后再参与整个表达式的运算 例如:s=(++i)+(++i)+(++i) 等价于s=6+6+6 你一定奇怪怎么全部变成6了? 你要知道++i意味着i的值发生了改变一开始i就+1变成了4 (你要知道每一次的i的值改变就意味着所有的i都会发生了改变)那么中间的++i当然就是...

C语言中"++""--"应用
++和—-分别是自增和自减运算符。可以分别对变量自身做加1或减1计算。例如x=x+1和x+=1和++x都是没区别的,唯一的区别据说是在运行的时候会有个快慢的问题。但是在赋值运算的时候.Y=x++和 Y=++x是有区别的。此时后面的Y比前面的大一,但是这一步运行之后X是一样的值的。

c语言中的++和--到底要怎么算啊? 为什么a=4,b=0 b=a+++b++ 输出b 结...
首选b=a+++b++可以判断出a,b均为后缀的++ 等价于b=(a++)+(b++)这个话的意思又等价于 b=a+b; a=4 b=4 a++;\/\/即a=a+1 a=5 b=4 b++;\/\/即b=b+1 a=5 b=5 得出最终答案

C语言单目运算符“++”、“--”的结合性问题。
变成了 a+++,但是 C++语言中这种表达式是非法的,所以将碰到的这个 + 变成 "+" 运算符,最后向右解析到 得到 b ,将表达式转换成 (a++)+b, 同样的道理,可以推导出 a+++++b; 不会解释成 (a++) + (++b),因为编译器解释代码时从左到右的顺序。 初学者对于这个问题不必过于深究。

如何理解c语言- i--与- i++的运算顺序?
-i--就是先进行i--运算,然后再取其负值。下面是C语言运算符的优先级:--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。具体看下面一个程序:include<stdio.h>...

相似回答