Я переглядав вихідний код nmap, який був випущений у 1997 році, і я помітив цей розділ коду, який мені виглядає трохи дивно:
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';
Чому ви мали б i++;і тоді i--;відразу один за одним? iє 0, потім i++звертається iдо 1. Після цього i--звертається iдо 0.
Посилання на оригінальний вихідний код. Шукати:
i++;
i--;
Хтось може пояснити, що це за?
-Oцим вони справді оптимізують ці твердження.