int i = 0
boolean answer = false
while (i < a.length) {
if a[i] == 0
answer = true
i = i + 1
其中'a'是一个整数数组。我正在做一个问题文件,它问我这是什么循环不变量,我已经确定代码可以确定数组是否包含 0。但到目前为止,我只能认为不变量是
i <= a.length
并且问题状态包括变量 i、a 和 answer 在不变量中,所以我知道这不可能是正确的。我之前没有遇到过涉及布尔值的循环不变量并且很困惑,有人可以帮忙解释一下吗?