Por fin me topé con un caso real en que cometí el error de usar variable++ sin pensar en las fatales consecuencias.
Lo siguiente deja siempre a c con el valor 0:
int c = 0;
for (int i = 0;true; i++) {
c =(c++)%1000;
...
}
Eso porque c++ quiere decir que justo luego de evaluar la expresión de la derecha, c debe incrementarse en 1. Entonces, la expresión se evalúa en cero, c queda en 1, pero como a c luego se le asigna el valor de la expresión, que es cero, c queda en cero.
Solución: ++c.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario