• 【C++】自加、自减(补充)


    //
    //  main.cpp
    //  【记录】自加、自减(补充)
    //
    //  Created by T.P on 2018/3/7.
    //  Copyright © 2018年 T.P. All rights reserved.
    //
    
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int val=5;
        cout<<"val="<<val<<endl;
        cout<<val++<<","<<++val<<","<<val--<<","<<--val<<endl;
        cout<<"val="<<val<<endl;
        return 0;
    }
    
    

    这段代码,按照我们的理解它应该输出

    val=5
    5,7,7,5
    val=5
    

    实际上它的输出根据“编译器”的不同,结果可能不同

    下面笔者就VS2017和Xcode运行这段代码进行了验证

    VS2017


    Xcode





    小结:待填坑

    C++程序设计(第4版),郑莉,课件解释

    最后一句的输出结果4,5,4,5,这是为什么呢?
    我们期望的输出结果,似乎应该是:5, 7, 7, 5。
    这是运行顺序问题,按照从右向左的顺序计算各输出项的值,
    然后按照从左向右的顺序进行输出。
    因此,在本例中,首先计算的是--val1,
    而不是val1++。于是出现了最后的输出结果。
    
  • 相关阅读:
    linux之awk命令
    HDU 2097 Sky数 进制转换
    HDU 2077 汉诺塔IV
    HDU 2094 产生冠军 dfs加map容器
    HDU 2073 叠框
    HDU 2083 简易版之最短距离
    HDU 2063 过山车 二分匹配
    天梯 1014 装箱问题
    天梯 1214 线段覆盖
    天梯 1098 均分纸牌
  • 原文地址:https://www.cnblogs.com/tp0829/p/8536692.html
Copyright © 2020-2023  润新知