c/c++中的i++和++i的区别

2021-03-06 17:30

阅读:604

使用 i++ vs. ++i

i++是先赋值再加1

++i是先加1再赋值

到目前为止,你已经学习了如何编写下面这样的 C++ for 循环:

for (int i = 0; i 

这条语法同 Python 的 for 循环语法十分相似;然而,你也可以这样编写 for 循环:

for (int i = 0; i 

这两者之间有什么区别?为什么它们都可以运行?

事实上,i++ 和 ++i 都会带来同样的结果;这些都是 i=i+1 的缩写形式,它们之间的区别也十分微妙。

int i = 5;
int x = i++; // x = 5, i = 6 (called postfix)
int x = ++i; // x = 6, i = 6 (called prefix)

在两种情况中,i 变量都增加了 1。在后缀式 i++ 的情况中,先计算了int x = i,再出现了 i=i+1。

而在前缀式 ++i 的情况中,i = i + 1 先出现,再执行了 int x = i。


评论


亲,登录后才可以留言!