Je regardais le code source de nmap qui a été publié en 1997 et j'ai remarqué cette section de code qui me semble un peu étrange :
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';
Pourquoi auriez-vous i++;
puis i--;
juste après l'autre ? i
est à 0
, puis i++
transforme i
en 1
. Ensuite, i--
ramène i
à 0
.
Lien vers le code source original. Recherchez :
i++;
i--;
Est-ce que quelqu'un peut expliquer à quoi cela sert ?