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++。于是出现了最后的输出结果。
    
  • 相关阅读:
    JVM如何执行方法调用
    JVM如何实现反射
    JVM是如何处理异常的
    Java类加载
    windows-Kafka安装
    Google Eventbus简单使用
    队列c#版
    python 元类

    Spring Mvc 笔记二之异常和文件上传
  • 原文地址:https://www.cnblogs.com/tp0829/p/8536692.html
Copyright © 2011-2022 走看看