c++中*和++有区别么?

如题所述

“*和++”两者优先级相同,需要按从右到左的顺序执行。

例如:*P++可看成*(P++),即先执行p++,后执行*p,但由于这里的“++”号是后加加号,所以会在整条语句执行完后再对P自加一,所以最终的实际执行效果等效为:

先执行(*P)操作,后P自加,换种例子介绍,即是:e.g (--P++)等价于 --(P++)实际执行效果等价于 先 p=p-1 后 p=p+1等价于(--p)++。

扩展资料:

每种同类型的运算符都有内部的运算符优先级,不同类型的运算符之间也有相应的优先级顺序。一个表达式中既可以包括相同类型的运算符,也可以包括不同类型的运算符或者函数。

当多种运算符出现在同一个表达式中时,应该先按照不同类型运算符间的优先级进行运算。各种运算符间的优先级如下:

数值运算符、字符串运算符、关系运算符、逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。对于多重括号,总是由内到外强制表达式的某些部分优先运行。括号内的运算总是最优先计算。

温馨提示:答案为网友推荐,仅供参考
相似回答