【发布时间】:2016-08-29 19:47:58
【问题描述】:
我是一名学生,我的软件老师给了我们这个例子 -
BEGIN
IF first < second
THEN display first,second
ELSE
display second,first
ENDIF
END
如果第一个和第二个两个数字相同(例如 2,2),则将采用 ELSE 路径,因为第一个 但是,我的软件老师说,在某些语言中,两个数字相同会产生问题并导致错误或奇怪的行为(我相信他以 Visual Basic 为例)。我不明白这是怎么可能的。 IF 语句被评估为真或假,因此必须运行其中一个选项,并且在评估 2 是否小于 2 时应该没有问题。 虽然他是我的老师,我尊重他,但我并不完全信任他,他有时也会犯错误。他说的对吗?如果是这样,我可以举一些具体的例子来说明会发生什么吗?
谢谢。
【问题讨论】:
-
给他看一个 VB 的例子,或者像 javascript 这样易于访问的其他语言
-
我不记得听说过如果 IF 为假则不能保证 ELSE 的语言。甚至是 Visual Basic。我想问他一个例子会很好。 :)
-
他有没有提到短路评估?默认情况下,Visual Basic 不会这样做,而且来自 C 风格的语言可能会非常出乎意料。
-
啊,可能。你能给我一点建议吗? @AntonGogolev
标签: if-statement vb6 language-agnostic pseudocode