++*p为什么和++(*p)相等,后置递增运算符不是比取值运算符高吗?

发布于 2017-05-06 02:05:36 字数 26 浏览 1287 评论 4

++p==++(p)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

晚风撩人 2017-05-06 02:05:42

自增自减这种具有副作用的表达式 你怎么能在一条语句里用两个呢。记住:除非你确切知道你在要什么,否则永远不要把自增自减放在更复杂的表达式中。就让自增自减独自组成一个简单的表达式。

夜无邪 2017-05-06 02:05:40

这个是基础知识了,查查表就知道了。打印一张表,需要用或者不清楚时候查查。C Operator Precedencehttp://en.cppreference.com/w/...

浮生未歇 2017-05-06 02:05:37

++p == ++(p) → 这个是 false 啊
然后标题没看懂。。有大神能给我解释一下吗??

瑾兮 2017-05-06 02:05:36

请使用Markdown标准语法撰写代码
++*p == ++(*p)

建议您多看看书,这都是基本知识,昨天您也提问了指针的基础问题。
您看一下百度百科:运算符优先级

这三个运算符是平级的
前置++
前置--
*指针取值

但是注意这句话:结合方向:右到左
也就是 从右边往左边计算。
故而
++*p 等同 ++ (*p)
同理
*++p 等同于 * (++p)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文