我希望在Pascal中進行同時變量賦值。pascal中的同時變量賦值
據我所知,這是不可能的。在這個問題上搜索,我可以看到很多編程語言都實現了這一點,但是我無法在Pascal中找到如何去做。
例如,在Python我可以這樣做:
(x, y) = (y, x)
在Pascal中,我需要一個額外的變量來保存x的值它去掉,這樣的事情:
bubble := x;
x := y;
y := bubble;
那麼,Pascal中是否存在同時賦值,還是我應該將代碼重寫爲類似上面的泡沫物?
我不僅要做掉掉;有時我必須做這樣的事情:
(x,y) = (x+1,y+x)
可以像下面這樣做嗎?
old_x := x;
old_y := y;
x := x + 1; // maybe x := old_x + 1;
y := old_y + old_x;
您在這裏尋找的術語是「交換」 - 您想交換「x」和「y」的值。 – 2010-07-01 01:45:00
雖然這四個陳述都可以,但我想我只是在兩個方面做:'y:= y + x; x:= x + 1;' – 2010-07-02 05:34:53