C++程序 解释下

来源:百度知道 编辑:UC知道 时间:2024/06/18 15:41:43
#include"iostream.h"
int main()
{
int i=17;
while(i>=10)
if(--i%4==3) continue;
else
cout<<"i="<<i--<<endl;
}

答案是 i=16
i=14
i=12
i=10
有点头昏 哪个把运算过程给我写出来看看谢谢了

开始执行-------
while(i>=10)//肯定大 因为i=17
if(--i%4==3)continue;//--i表示i=16,16%4=0,显然不满足==3,执行else语句的cout,输出i=16后i--,i变成15啦
15>10
--i后变成14啦
14%4==2,不满足if语句
输出else的cout
i=14;输出后i--,i变成13
以此类推
......
一直到i=10
要注意的就是--i是在运算前使i自减1
而i--是运算后i才自减1的
希望对你有帮助

--i 与 i-- 的区别,--i先减后运算,i--先输出再减

看看这个我空间里的文章,看完了你应该就懂了:

后自增i++与前自增++i本身都是先进行自增(++)操作,然后在进行赋值等操作。但是这里容易搞错的问题是:

后自增操作符即i++返回的是将操作数原来的、未修改的值作为表达式的结果值;

前自增操作符即++i返回的是将修改后的的操作数的值作为表达式的结果值。

尤其要注意的是:在这之后前自增和后自增中i值都增加了1。

下面来看一个例子:
#include <iostream>
using namespace std;

int main ( )
{
int i = 10, j = 10;
int a, b;
a = i++;
b = ++j;

cout << "a = " << a << " b = " << b << endl;

cout << "i = " << i << " j = " << j &