在C++的for循环中除了i=i+1类的格式,还存在着i++和++i这样的格式,如下:
#include <iostream>
using namespace std;
int main(){
int i = 0, j = 0;
int a;
a = i++;
cout << a << endl;
a = ++j;
cout << a << endl;
return 0;
}
上图中,i和j的初始值都是0,i++表示先不对i做变动,直到i++所在的句子结束后再对i做加1的运算,而++i则表示先对i做加1的运算,然后再执行++i所在的句子。初学者对此容易犯错,要注意理解
在for循环中,通常采用的写法如下:
int i;
for (i = 0; i < 10; i++){
//循环体
}
可以看到,此时将i加1的表示方法变为了i++,这种写法更为常见,虽然i++可以用其它语句替换,但是读者要清楚这种写法,以防止看不懂他人编写的代码,此时的i++和++i是等效的。
循环中除了上述两种常见的例子外,还存在循环的嵌套,以while为例子:
#include <iostream>
using namespace std;
int main(){
int i, j;
i = 0, j = 0;
while (i < 3){
j = 0;
while (j < 4){
cout << "*";
j++;
}
cout << endl;
i++;
}
return 0;
}
可以看到,在上面的代码中,先将i和j申明为0,然后进入第一个循环,第一个循环由i控制,在每次进入第二个循环前会将j重置为0,然后进入由j控制的第二个循环中,由于j的循环条件为小于4,所以第二循环会不断执行四次,所以会重复打印四次“*”号,然后回到第一个while循环中,打印一个换行,而最外层的while的循环条件为i小于3,因此,会重复打印三次换行,通知最外层的whlie每循环一次,内部的while循环会再次进入,打印四个“*”号,因此,出现了最后的黑窗口上的效果。