在C語言中,連續(xù)賦值的計(jì)算順序是從右向左進(jìn)行的。也就是說,右邊的表達(dá)式會先計(jì)算,然后將結(jié)果賦值給左邊的變量。
例如:
int a, b, c;
a = b = c = 5;
在上面的代碼中,先計(jì)算c = 5
,然后將結(jié)果賦值給b
,再將b
的值賦值給a
,最終三個(gè)變量的值都被賦值為5。
另一個(gè)例子:
int a, b, c;
a = (b = 3) + (c = 2);
在這個(gè)例子中,先計(jì)算b = 3
和c = 2
,然后將b
和c
的值相加,結(jié)果為5,最后將5賦值給a
。
需要注意的是,連續(xù)賦值中的計(jì)算順序是從右向左,但是在表達(dá)式中各個(gè)變量的求值順序并不確定。因此,不建議在連續(xù)賦值中依賴于變量的求值順序,以免造成不確定的結(jié)果。