¿Por qué poner paréntesis alrededor de una lista de valores separados por comas cambia la asignación? [duplicar

Esta pregunta ya tiene una respuesta aquí:

¿Qué significa una lista de valores separados por comas, entre paréntesis, en C? a = (1, 2, 3); [duplicar 6 respuestas Cómo funciona el operador de coma 9 respuestas

Por favor considere el siguiente código,

    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);   

Salida

Primera vez i = 1

Segunda vez i = 5

¿Por qué los paréntesis hacen que el operador de coma tome el último valor y sin paréntesis tome el primer valor?

Gracias por adelantado

Respuestas a la pregunta(4)

Su respuesta a la pregunta