我对 C 编程不太熟悉(我只用该语言做过几个小项目),但是,我的教授今天谈到了它的行为,这让我有点困惑。
他说的是这段代码有时根本不会打印任何东西(我完全复制了板上的内容,我相信这是 C 的伪代码,因为“打印”不在 C 中):
int a = ___________;
int b = ___________;
if (a < b)
print (“<“);
if (a > b)
print (“>”);
if (a==b)
print(“=”);
基本上,您可以在不满足这些条件的那些 int 变量中存储一些东西(_ __ _显然不是实际代码,它只是表示存在某些东西)。它不一定需要是一些填补这些空白的整数......它可以是世界上的任何东西(并且可能在这段代码之前发生了一些事情)。
是什么可以填补这些空白而不会产生任何结果,为什么?
ps - 它与溢出、未定义的行为、越界错误或类似情况有关
pps - 我很难相信这位教授是错误的。他比我接触过的任何人都更了解编程。我相信在某些情况下这是真的。