C语言里边m++与++ m区别是啥,求形象解答,谢谢!

发布网友 发布时间:2022-04-24 11:47

我来回答

4个回答

热心网友 时间:2023-10-11 17:42

若m=6;

a=m++;

则执行完该语句后a=6,m=7(赋值运算取自加之前的值)

若m=6;

a=++m;

则执行完该语句后a=7,m=7(赋值运算取自加之后的值)

如果单纯有一行是

m++或者++m,没有赋值或取值,那么这两句实际结果是一样的,都是m的值增加了1。

扩展资料:

优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7

参考资料来源:百度百科-运算符优先级

热心网友 时间:2023-10-11 17:43

若m=6;
a=m++;
则执行完该语句后a=6,m=7.(赋值运算取自加之前的值)
若m=6;
a=++m;
则执行完该语句后a=7,m=7.(赋值运算取自加之后的值)

如果单纯有一行是
m++或者++m,没有赋值或取值,那么这两句实际结果是一样的,都是m的值增加了1

热心网友 时间:2023-10-11 17:43

m++是先让m进行加一操作,在使用m的值,例如m=5,a=m++,a就=6

热心网友 时间:2023-10-11 17:44

m++=m+1;++m=1+m追问

啊!书上的解释是这样的,不好理解

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com