Why output 3 .i want a concept

#include <stdio.h>
int main()
{
int i;
i = (1, 2, 3);
printf(ā€œi = %d\nā€, i);

getchar(); 
 return 0; 

}

i = (1, 2, 3);
this calls a constructor initialisation to the integer class in c
which assigns it values 1 and then 2 and then 3 in order
so the last value assigned is 3