В C оператор запятой вычисляет первый операнд, затем отбрасывает его и затем вычисляет правый операнд.Таким образом, результатом является правильный операнд.И это имеет самый низкий приоритет.
c = (a,b)
() имеет более высокий приоритет, чем, поэтому a, b вычисляется первым.Результат б.Таким образом, c = b.
Но когда используется c = a, назначение b = имеет более высокий приоритет.Таким образом, с = а оценивает первым.Таким образом, а назначается с.
Проверьте это для получения дополнительной информации.