=は左結合だから
b=a=c;⇔b=(a=c);

でも
a=cが、aにcを代入した後のものを返すか、それ以前のaを返すかは未定。