0
作出了一個程序尋找最大公約數,但由於某種原因該函數重複。爲什麼這個程序中的函數重複?帕斯卡爾
var p,q:integer;
function nod(x,y: integer):integer;
begin
while y<>0 do nod(y,x mod y);
result:=x;
end;
begin
write('Enter two integers: ');
read(p,q);
write(nod(p,q));
end.
代碼使用'y'變量來決定何時停止循環,但是你從來沒有做任何改變'y'的價值,以使其停止。很顯然,你需要修正你的代碼,這樣'y'的值纔會在循環中改變,直到滿足中斷條件('y = 0')。 –