小智 14
在C++中,++++i编译,因为前缀operator++返回左值.但是,使用这个疯狂增量运算符仍然是不可取的,因为它会调用UB.
我是一个C人,这也被标记为C,所以值得指出的是,这在C中是不同的,在这种情况下,答案是:
++++i也不允许.这就是我所拥有的一切.
实际上两个都是错的(如前所述),但是第一个甚至不可编译,因为后缀++需要一个左值,但前缀++返回临时.第二个,尽管具有可通信性,但违反了规则:在序列点之间,您只能修改一次变量.显然,你在这里尝试修改i两次!