"a++" 与 "++a" 的区别-演示

两种表示方法经常容易混淆, 在这里将利用演示程序来揭示两者之间的区别, 演示代码如下

int main()
{
    int a = 1;
    cout << "a=1 " << "a++: " << a++ << "  此时a= " << a << endl;
    a = 1;
    cout << "a=1 " << "++a: " << ++a << "  此时a= " << a << endl;

    system("pause");
    return 0;
}

最终结果如下:

a=1 a++: 1 此时a=2
a=1 ++a: 2 此时a=2

显然, a++ 与 ++a 均是对a自身的自加运算, 就改变a的值来讲, 二者效果相同; 但是, 两者算式的值却不相同(a++)的值保持为原先a的值, 而(++a)的值随着a的值一起变化加一. 下面, 我们来看这两个式子的值具体在怎么变化;

代码如下:

int main()
{
    int a = 1;
    cout << "a=1 " << "a++=" << a++ << ";  此时a=" << a << endl;
    cout << "此时a=" << a;cout<< "二次a++=" << a++ << ";  此时a=" << a << endl << endl;

    a = 1;
    cout << "a=1 " << "++a=" << ++a << ";  此时a=" << a << endl;
    cout << "此时a=" << a;cout<< "二次++a=" << ++a << ";  此时a=" << a << endl;

    system("pause");
    return 0;
}

运行结果如下:

a=1 a++=1; 此时a=2
此时a=2二次a++=2; 此时a=3

a=1 ++a=2; 此时a=2
此时a=2二次++a=3; 此时a=3

结果与我们想的一致, a++是对a变量值的引用, 始终与该式之前a的值一致; 而++a本身就是对a自增的引用, 结果与该式之后的a保持一致.

 

posted @ 2019-07-10 13:48  runsdeep  阅读(605)  评论(0编辑  收藏  举报