[++ i,i ++用于xcode和Visual Studio

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[++ i,i ++用于xcode和Visual Studio相关的知识,希望对你有一定的参考价值。

我运行下面的代码。Xcode(在Mac上)获取(1,1)。Visual Studio 2017(Microsoft)获得(2,0)。

我认为(1,1)是正确的。但是为什么我仍然为Visual Studio得到(2,0)。如何清楚解释?

#include <iostream>

 int main()
 {
     int i=0;
     std::cout <<"(" << ++i << ","<< i++ << ")" << std::endl;
     std::cin.get();
 }
答案

i++++i都增加了i,但是相对于[[evaluating i,此发生的顺序是不同的。

i++将返回i的值,然后递增。++i将使i递增,然后返回其值。

在另一个示例中:

std::cout << "i : "; for( int i = 0; i < 3; i++ ){ std::cout << i; } std::cout << std::endl; std::cout << "k : "; for( int k = 0; k < 3; ++k ){ std::cout << k; } std::cout << std::endl;

此代码将输出:

i:012 // i = 0;然后我递增,for循环运行

k:123 // k = 0,并递增

before for循环运行

以上是关于[++ i,i ++用于xcode和Visual Studio的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 和角度集成

[Algorithm] 前缀和

前缀和序列 & 差分序列

break和continue跳出循环

用于从字符串中删除除“a”和“i”之外的所有单个字母的 Java 正则表达式 [关闭]

break和continue