a=b+(b=a)*0;
Это предложение может поменять местами значение между a и b.
Я пробовал это с C #, и он работает.
Но я просто не понимаю, как это работает.
например,
a = 1, b = 2
Я перечисляю шаги, как показано ниже:
b = a -> a = 1, b = 1
b * 0 -> a = 1, b = 1
b + 0 -> a = 1, b = 1
a = b -> a = 1, b = 1 ?
Но значение b может быть неправильным.
Кто-нибудь может мне помочь? Это меня очень озадачивает.