Dlaczego umieszczanie nawiasów wokół listy wartości oddzielonych przecinkami zmienia przypisanie? [duplikować

To pytanie ma już odpowiedź tutaj:

Co oznacza lista wartości oddzielonych przecinkami, ujęta w nawiasach w C? a = (1, 2, 3); [duplikować 6 odpowiedziJak działa operator przecinka 9 odpowiedzi

Proszę wziąć pod uwagę następujący kod,

    int i;

    i = 1,2,3,4,5;
    printf("First time i = %d\n",i);

    i = (1,2,3,4,5);
    printf("Second time i = %d\n",i);   

Wydajność

Pierwszy raz i = 1

Drugi czas i = 5

Dlaczego nawiasy powodują, że operator przecinka przyjmuje ostatnią wartość, a bez nawiasów przyjmuje pierwszą wartość?

Z góry dziękuję