Pascal边界检查(标准)

时间:2016-04-29 14:24:57

标签: runtime-error standards pascal error-checking

一个简单的问题:Pascal是否包含原始标准(ISO 7185)中的边界检查?

我无法在任何地方看到它(http://www.pascal-central.com/standards.html),或者我可能只是失明。

我知道在一些Pascal编译器中我可以选择在哪里检查边界,对我而言,重要的是它是如何处于该标准的。

1 个答案:

答案 0 :(得分:3)

我没有看过标准,所以我的知识有点生疏,但是是的,边界检查包含在标准中(ISO 7185)。该标准要求1.数组索引有效(参见Indexed-variables)和2.所有值都与赋值的变量兼容(参见assignment compatibility)。

然而,该标准还指出错误是“程序违反本国际标准的要求,允许处理器未被发现”(见Error)。无效的数组索引和超出范围的分配违反了该标准,并且是错误。