zoukankan      html  css  js  c++  java
  • v+=e 不等价于 v=v+e

    在大多数情况下 v+=e 等价于 v=v+e; 这里的等价含义为当c不是表达式时他们的运行结果一致(但是运行次数永远不一致)。

    v+=e 只运行了一次运算   v=v+e运行了两次运算。

     int a[]={1,2,3,4,5},i=0;
      a[i++]=a[i++]+2;  //此时数组为{1,3,3,4,5}
    a[i++]+=2; //此时数组为{3,2,3,4,5}

    在以上特殊条件下两个表达式并不对等。

    补充: 在c,c#,java中,同样的代码含义不一致

    在c语言中

      int a[]={1,2,3,4,5},i=0;
    a[i++]=a[i++]+2;
    //此处等同于 arr[1]=arr[0]+2;  
    //此行代码执行之后 i=2;

    在java中

        int[] arr={1,2,3,4,5};
        int i=0;
        arr[i++]=arr[i++]+2;
    //此处等于 arr[0]=arr[1]+2;
    不和别人一样,不复制只真正理解
  • 相关阅读:
    ExtJs-学习篇(1)
    js中的Ajax经典示例
    软件工程开发流程
    Maven和Ajax
    搭建SSH框架
    拦截器
    OGNL
    Struts 2配置详解
    Struts 2入门
    HQL连接查询和注解
  • 原文地址:https://www.cnblogs.com/Vinlen/p/14029501.html
Copyright © 2011-2022 走看看