Tengo el siguiente códigoComportamiento de una expresión: ¿definido o indefinido?
int m[4]={1,2,3,4}, *y;
y=m;
*y = f(y++); // Expression A
Mi amigo me dijo que Expression A
tiene un comportamiento bien definido pero no estoy seguro de si es correcta.
Según él la función f()
introduce un sequence point
en el medio y, por lo tanto, el comportamiento está bien definido.
Alguien aclare por favor.
P.S: Sé que no deberíamos escribir dicho código para fines prácticos. Es solo con el propósito de aprender. :)
Yo digo que no. En eso es lo que 'gcc' me dice. – kennytm