Dieses Programm verstehe ich nicht ganz Warum errechnet es nicht 2x das selbe Ergebnis
PROGRAM Vorsicht_bei_Referenzparametern;
USES Crt;
VAR a, b, p: Integer;
{------------------------ Prozedur ------------------------}
PROCEDURE Produkt(VAR x, y, z: Integer);
{ fortgesetzte Addition }
BEGIN
z := 0;
WHILE y > 0 DO
BEGIN z := z + x; y := y - 1 END
END;
{--------------------- Hauptprogramm ----------------------}
BEGIN
ClrScr;
Writeln('Vorsicht bei Referenzparametern!');
Writeln('--------------------------------');
Writeln;
a := 2; b := 3;
Produkt(a, b, p); Writeln('2 * 3 = ', p);
Produkt(a, b, p); Writeln('2 * 3 = ', p);
Writeln;
Writeln('Das habe ich anders gelernt...');
Readln
END.
PROGRAM Vorsicht_bei_Referenzparametern;
USES Crt;
VAR a, b, p: Integer;
{------------------------ Prozedur ------------------------}
PROCEDURE Produkt(VAR x, y, z: Integer);
{ fortgesetzte Addition }
BEGIN
z := 0;
WHILE y > 0 DO
BEGIN z := z + x; y := y - 1 END
END;
{--------------------- Hauptprogramm ----------------------}
BEGIN
ClrScr;
Writeln('Vorsicht bei Referenzparametern!');
Writeln('--------------------------------');
Writeln;
a := 2; b := 3;
Produkt(a, b, p); Writeln('2 * 3 = ', p);
Produkt(a, b, p); Writeln('2 * 3 = ', p);
Writeln;
Writeln('Das habe ich anders gelernt...');
Readln
END.