mu_tou_man

导航

 

i++使用后加1

++i使用前加1

 

那么 int a=++i  +  ++i;

是怎么样计算的呢?

++i;

++i;

a=i+i=2+2=4;

 

而i++是如何计算的呢

a=i++ + i++;

先执行a=i+i;

然后i++;

i++;

让我们看下面的代码

// 例1
#include <iostream>
#include <cstdlib>

using namespace std;

void main()
{
    int c = 0, a = 0, b = 0;

    cout<<"两次次使用 ++a"<<endl;
    c =  (++a) + (++a); 
    cout<<"the value of c is "<<c<<endl;
    c = a + a;
    cout<<"the value of c is "<<c<<endl<<endl;
    
    cout<<"两次次使用 b++"<<endl;
    c = (b++) + (b++);
    cout<<"the value of c is "<<c<<endl;
    c = b + b;
    cout<<"the value of c is "<<c<<endl<<endl;

    a = 0;//先重新初始化下 变量a
    cout<<"a++ 与 ++a 的混合使用, a++在前"<<endl;
    c =  (++a) + (a++); 
    cout<<"the value of c is "<<c<<endl;
    c = a + a;
    cout<<"the value of c is "<<c<<endl<<endl;

    a = 0;//先重新初始化下 变量a
    cout<<"a++ 与 ++a 的混合使用, a++在后"<<endl;
    c = (a++) + (++a); 
    cout<<"the value of c is "<<c<<endl;
    c = a + a;
    cout<<"the value of c is "<<c<<endl<<endl;

    a = 0;//先重新初始化下 变量a
    cout<<"一个 a++ 与 两个 ++a 的混合使用"<<endl;
    c = (a++) +(++a) + (++a); 
    cout<<"the value of c is "<<c<<endl;
    c = a + a + a;
    cout<<"the value of c is "<<c<<endl<<endl;

    a = 0;//先重新初始化下 变量a
    cout<<"两个 a++ 与 一个 ++a 的混合使用"<<endl;
    c = (a++) + (a++) + (++a); 
    cout<<"the value of c is "<<c<<endl;
    c = a + a + a;
    cout<<"the value of c is "<<c<<endl<<endl;

    system("pause");
}

执行结果如下图:

 

posted on 2014-08-22 09:11  mu_tou_man  阅读(118)  评论(0编辑  收藏  举报