Recently我在这个论坛上问过,使用以下 if 语句涉及给定 x 和 y 的位移位是否错误:
if (x<<y)
这个问题的结论性答案是上面写的语句不是任何类型的错误,也不是运行时错误。
假设我们扩大该问题的范围,并将上面的陈述重写为以下内容:
if (x<<y) x++;
在这种情况下,它是否仍然没有任何类型的错误(包括运行时错误)?
最佳答案
如果没有任何周围的上下文,就不可能判断这段代码是否会出现任何运行时错误:
if (x<<y) x++;
我们不知道x
或y
的类型或值,也不知道代码的预期用途。因此,我们能给您的最接近的答案是“我们不知道。”
关于c - if 语句涉及变量位移 - 错误与否(更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57192984/