El código siguiente tiene me confundido¿Qué significa la operación c = a +++ b?
int a=2,b=5,c;
c=a+++b;
printf("%d,%d,%d",a,b,c);
que esperaba que la salida sea 3,5,8, principalmente porque significa un ++ 2 1 que es igual a 3, y 3 + 5 es igual a 8, por lo que espera 3, 5,8. Resulta que el resultado es 3,5,7. ¿Alguien puede explicar por qué es este el caso?
'a ++' ciertamente no significa '2 + 1'. :) – jalf
estos son solo ejercicios en un libro, pero me hicieron pensar. ¡Los sigo equivocando! Así que no es código de producción ni nada – user595985
A menos que estés escribiendo un compilador/analizador C++, nunca deberías escribir/pensar sobre expresiones como 'a +++ b', que alguien leerá el código más tarde podría interpretarse fácilmente como 'a + (++ b)' que evaluaría a 8. Los espacios y paréntesis son gratuitos y harán que la vida de todos sea más fácil en este caso. –