当我试图弄清楚时,!0' 的结果是定义的实现,期望它不等于零我只是读了一些让我感到困惑的东西。
(顺便说一句,它可能是在某些实现上-1,还是1严格定义?如果有人能在评论中告诉我会很好)
但我真正的问题是:
在
6.5.17 逗号运算符 2
据说:
如果尝试修改逗号运算符的结果或在下一个序列点之后访问它,则行为未定义。
在下一行中,有一个示例如何使用逗号运算符将参数解析为函数。
f(a, (t=3, t+2), c);
但是这个例子是到目前为止我所知道的未定义行为,不是吗?由于t被分配3并且在下一个序列中它增加了2.
但是该标准没有提到该示例无效。
或者是一个分配不被理解为修改?