Ich habe mir den Quellcode für nmap angesehen , der 1997 veröffentlicht wurde, und mir ist dieser Codeabschnitt aufgefallen, der für mich etwas seltsam aussieht:
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';
Warum hättest du i++;und dann i--;direkt nacheinander? iist 0, i++dreht sich dann izu 1. Danach i--dreht sich ium 0.
Link zum ursprünglichen Quellcode. Suchen nach:
i++;
i--;
Kann jemand erklären, wofür das ist?
-Odamit werden diese Anweisungen tatsächlich optimiert.