【问题标题】:Why x = y = z does not return false为什么 x = y = z 不返回 false
【发布时间】:2018-04-13 03:02:02
【问题描述】:

我有一段代码比较三个值,每个值都默认为零,但它不返回 false:

x = 0 : y = 0 : z = 0
IF x = y = z THEN PRINT "false"

我不知道为什么?

【问题讨论】:

  • BASIC 没有像 Python 那样花哨的链式 =。您正在比较 (x = y) = z
  • 那么,如果 (x = y) 为 -1,那么 (-1 = 0) 为 0?

标签: basic


【解决方案1】:

在旧的 BASIC 方言中,以下将所有变量分配为零:

a = b = c = 0

但之后每个变量都必须单独设置:

a = 0 : b = 0 : c = 0

然后,不是将所有值都与零进行比较,而是以布尔方式在每个值之间进行比较:a=b=c 将首先计算 a=b,然后将其值与 c 进行比较。

【讨论】:

  • ¿你使用的是什么 BASIC 方言?
  • ¿嗯,M$的老产品,比如:QB45、PDS71、VBdos Pro 1.0、QB64大多……为什么?
猜你喜欢
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多