Cobol 为什么我们在移动前要检查是否为空?

Cobol 为什么我们在移动前要检查是否为空?,cobol,Cobol,我看到很多这样的代码: if WA > SPACES move WA to WA2 end-if 检查这一点有什么好处?检查它是否为空比移动它更有效吗 其他信息: WA和WA2可以是简单的结构(没有填料),但也可以是简单的属性。它们不作为字符或字符结构重新定义和键入。它们可以是低值(语义上为空值),也可以是字母数字内容。除了编码的人之外,没有人能告诉你实际原因是什么,但这里有一个很可能的原因: 通常,这会伴随一个ELSE,它会覆盖值小于空格时发生的情况,但在这种情况下,我会假设以后对

我看到很多这样的代码:

if WA > SPACES
  move WA to WA2
end-if
检查这一点有什么好处?检查它是否为空比移动它更有效吗

其他信息:
WA和WA2可以是简单的结构(没有填料),但也可以是简单的属性。它们不作为字符或字符结构重新定义和键入。它们可以是
低值
(语义上为
空值
),也可以是字母数字内容。

除了编码的人之外,没有人能告诉你实际原因是什么,但这里有一个很可能的原因:

通常,这会伴随一个
ELSE
,它会覆盖值小于空格时发生的情况,但在这种情况下,我会假设以后对该数据发生的一切都依赖于该字段,而不是
低值
或某个时髦的不可显示控制字符


如果我不得不猜测,我会假设
WA2
被初始化为空格。因此,在移动之前执行此检查可确保不会将小于空格的值移动到该变量。请记住,小于空格并不意味着为空,它只是意味着该字符串的十六进制值小于
X'40'
(例如,如果字符串中充满了低值,那么它将是所有
X'00'
。因此,我想更多的是确保数据有效,而不是效率。

或者,小于X“20”对于ASCII.Or,
WA
是一个组项,或者使用定义的相同空格重新定义,该空格的类型的值永远不会大于空格,例如
COMP-3
PACKED-DECIMAL
或无符号
COMP
或无符号
BINARY
要理解这个陈述,需要使用ons…或者WA2不应该小于空格…这个问题的所有答案只能是猜测。。。