这是:
*(1 + &foo)
Run Code Online (Sandbox Code Playgroud)
这个一样吗?
*(&foo + 1)
Run Code Online (Sandbox Code Playgroud)
'+'和'&'具有相同的优先级,它们从右到左进行评估.但是你无法解释第二种情况:
*(&(foo + 1))
Run Code Online (Sandbox Code Playgroud)
...因为你只能使用带有l值的'&'(如果你这样写它就不会编译).它会是垃圾吗?或者它会安全地弄清楚你的意思吗?