【发布时间】:2015-01-10 05:16:04
【问题描述】:
目前我正在学习 C 并试图理解这些说明。它们真的不同吗?
++*argv
*argv++
*(++argv)
*(argv++)
谢谢!
【问题讨论】:
-
检查operator precedence 表。
-
你不明白什么?你知道前增量运算符和后增量运算符是做什么的吗?你知道优先级吗?
-
你知道
n++;和++n;的区别吗?指出你不明白的部分。 -
是的。问题是,如果我没记错的话,++ 的优先级高于 *。然后,调用 ++*argv 分解为:1.增加 argv,2.指向它。但事实并非如此。为什么?
-
@antikbd 否。这种不同的优先级仅适用于
*x++情况。对于++*x,++显然适用于*x。所以*首先被执行,然后++。
标签: c arrays pointers command-line-arguments