DECLARE
p NUMBER := 0;
q NUMBER := 1;
r NUMBER;
BEGIN
DBMS_OUTPUT.PUT_LINE(LPAD('0: ', 4) || LPAD(p, 10));
DBMS_OUTPUT.PUT_LINE(LPAD('1: ', 4) || LPAD(q, 10));
FOR k IN 2..20 LOOP
r := p + q;
DBMS_OUTPUT.PUT_LINE(LPAD(k, 2) || ': ' || LPAD(r, 10));
p := q;
q := r;
END LOOP;
END;
我们在我的一门课上讨论过这个问题,但我并没有真正理解这个 for 循环是如何工作的。我知道输出在左侧打印数字 0-20,我对右侧的数字如何增加感到困惑。