#include <stdio.h>

int main()

{

    int a = 1, b = 2, c = 3, x;

    x = (a, b, c);

    printf("a1=%d, a2=%d, a3=%dn", a++,a++,a++);       ----------(1)

    printf("a1=%d, a2=%d, a3=%dn", ++a,++a,++a);       ----------(2)

}

라는 소스가 있어
그리고 프로그램 실행 결과는 이렇게 나와
         
          a1 = 1, a2 = 1, a3 = 1
          a1 = 7, a2 = 6, a3 = 5


쉼표연산자는 출력 변수의 오른쪽부터 연산한다고 하니, (2)식이 왼쪽부터 '7, 6, 5' 순으로 인쇄되는건 알겠어
근데 그렇다고 하면 (1)식의 결과값은 왼쪽부터 '3, 2, 1' 이 되어야 하는거 아니야??

책에 있는 설명으로는 잘 이해할수가 없네 ㅠㅠ
왜 (1)식의 결과값이 1, 1, 1이 되는지 설명좀 해줘