ฉันกำลังดูซอร์สโค้ดสำหรับ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--จะเปลี่ยนไปi0
ลิงก์ไปยังซอร์สโค้ดต้นฉบับ ค้นหา:
i++;
i--;ทุกคนสามารถอธิบายสิ่งนี้มีไว้เพื่ออะไร?
-Oจริงแล้วมันเพิ่มประสิทธิภาพของคำสั่งเหล่านั้น