查询有关后增量和前增量运算符

时间:2019-08-18 10:08:40

标签: c++ if-statement conditional-statements post-increment pre-increment

如果我有以下代码:

int n=5;
if (n++>=6){
    cout<<"Yay";
    }
else cout<<"No";

我将其与此:

int n=5;
if (++n>=6){
    cout<<"Yay";
    }
else cout<<"No";

为什么两种情况下的输出都不同?在遇到不平等之前,两种情况下n是否都递增(后递增/前递增)?

后递增何时生效-是在遇到下一条语句之前吗?如果是这样,在评估整个不平等之前,n ++值是否会保持5?

我还有一个问题是,如果条件影响外部变量的值,它将增加吗?如果我有第一个代码(后递增)并打印n,则n返回6吗?

1 个答案:

答案 0 :(得分:0)

两者都是不同的东西。 ++ n表示它首先将n递增1并在语句中使用更新值,而在n ++中,它在语句中使用相同的n值,然后将n递增1