Estaba mirando el código fuente de nmap que se lanzó en 1997 y noté esta sección de código que me parece un poco extraña:
int i=0, j=0,start,end;
char *expr = strdup(origexpr);
ports = safe_malloc(65536 * sizeof(short));
i++; /* <<<<<< */
i--; /* <<<<<< */
for(;j < exlen; j++)
if (expr[j] != ' ') expr[i++] = expr[j];
expr[i] = '\0';
¿Por qué lo harías i++;
y luego i--;
uno después del otro? i
es 0
, luego se i++
vuelve i
hacia 1
. Después de eso, se i--
vuelve i
hacia 0
.
Enlace al código fuente original. Buscar:
i++;
i--;
¿Alguien puede explicar para qué es esto?
-O
eso, efectivamente, optimizo esas declaraciones.