为什么是数量++;与 print(quantity++); 不同?这是陷阱吗?

Why is quantity++; not the same as print(quantity++);? Is this a gotcha?

示例代码:

void main() {
  int quantity = 300;
  print(quantity++); // 300
}

我原以为数量现在等于 301?

void main() {
  int quantity = 300;
  quantity++;
  print(quantity); // 301
  print(quantity++); // 301 >> In this case ++ does nothing??
}

不过似乎工作正常。为什么它不能作为打印语句的一部分?例如 print(quantity+1); 可以正常工作,那么为什么 print(quantity++); 不行?

引擎盖下发生了什么?

quantity++表示使用quantity的值,然后自增。 如果你做了 打印(数量++) 打印(数量) 你会看到价值已经改变。 如果您希望在使用之前递增该值,请使用 ++quantity