【发布时间】:2016-02-10 03:31:37
【问题描述】:
当你有声明时:
*str++ = *end
*str 是被分配了*end 的值,还是被增加了然后被分配了*end 的值?
【问题讨论】:
-
*(++str) = *end会做什么? -
@iharob:大括号是不必要的。
-
++的优先级高于*的优先级,所以*str++与*(str++)相同。 -
@JonathonReinhart 我觉得这个问题有用的是在左侧表达式上使用后增量。 OP 寻求明确分配操作是发生在 any 左侧递增/递减之前还是之后。指针是最明显的左侧用例。
-
@lurker 有效点。我今天没喝咖啡。但我不喝咖啡,所以这可能是个问题!