¿Cuál es el valor de c, si c = a, b;

int a=0; int b=1; int c=a,b; int d=(a,b); 

Fuera de una inicialización, la coma en a,b es el operador de coma , y se evalúa como b . Los paréntesis en la línea que implica d hacen que este sea un caso. Así que esa línea es realmente equivalente a:

 int d = b; 

Sin embargo, en la línea que implica c , esto no es un uso del operador de coma. En su lugar, es solo una lista de definiciones de variables, equivalente a:

 int c = a; int b; 

(Que en consecuencia no se comstackrá, debido a la redefinición de b !)