MrD*_*ase 1 c undefined-behavior
我正在阅读一篇有趣的文章"C和C++中未定义行为指南",第1部分,关于C和C++中未定义的行为.我经常在代码中执行以下操作:
int i = 10;
i = (++i) % 7;
Run Code Online (Sandbox Code Playgroud)
这会产生不确定的行为吗?在x86上?臂?也许这取决于编译器?
它是未定义的行为,因为i在没有插入序列点的情况下被多次修改.
它仅取决于编译器,因为对代码的作用没有任何要求,因此每个编译器都可以做一些不同的事情.要清楚 - 只是因为即使你得到的结果似乎有意义(有时),代码也是一个错误.
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |