为什么是数量++;与 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
示例代码:
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