zoukankan      html  css  js  c++  java
  • 【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++。于是出现了最后的输出结果。
    
  • 相关阅读:
    Vue部分知识
    JAVA基础之Map接口
    浏览器渲染机制及五大浏览器、四大内核
    WebPack
    Gulp
    GC垃圾回收机制
    Git操作(及操作github)
    Git、Github和GitLab的区别及与SVN的比较
    Node.js介绍
    JAVA基础之Set接口
  • 原文地址:https://www.cnblogs.com/tp0829/p/8536692.html
Copyright © 2011-2022 走看看