Informatică, întrebare adresată de selena100, 9 ani în urmă

var a, b:integer;
procedure p(x:integer; var y: integer);
begin
x:=2*x;
a:=x+y;
y:=x-1;
end;

begin
a:=4;
b:=2;
p(a, b);
writeln(a,' ', b);
end.


In urma execuției programului Pascal, rezultatul este: 10 7.

Știe cineva sa explice de ce variabila a iese cu valoarea 10 și nu cu 4 ??? x nu este precedat de var, atunci variabila a de ce ia valoarea modificata în procedura si nu rămâne cu valoarea pe care a avut-o înainte de apel?

Răspunsuri la întrebare

Răspuns de corpaceanr
0
Pai tu in procedura îi atribui lui a x+y
Alte întrebări interesante