zoukankan      html  css  js  c++  java
  • 再论i++ ++i

    #include <stdio.h>
     
    int main(void)
    {
     
     char acData[5] ={'A','B','C','D','E'};
     char *pcData = NULL;
     
     pcData = acData;
     
     printf("%c ",*++pcData);
       
     return 0;
    }
    

      上面的代码会漏掉A,使用下面的解决了

    #include <stdio.h>
     
    int main(void)
    {
     
     char acData[5] ={'A','B','C','D','E'};
     char *pcData = NULL;
     
     pcData = acData;
     
     printf("%c ",*pcData++);
       
     return 0;
    }
    

      for循环最好使用++i,

    当我们需要一个循环或者只需要增加操作数时,预增量远远好于后增量,因为在后增量的情况下,编译器可能创建了一个需要额外时间的旧数据副本。这不是100%正确,因为现在编译器非常聪明,他们正在以一种在前后增量之间没有区别的方式优化代码。所以这是我的建议,如果不需要后增量,那么你必须使用预增量。

    注意:通常后增量用于数组下标和指针来读取数据,否则如果没有必要则使用pre代替后增量。有些编译器还提到避免在循环条件中使用后增量。

  • 相关阅读:
    buf.readUInt8()
    buf.readUIntBE()
    buf.readInt32BE()
    buf.readInt16BE()
    buf.readInt8()
    buf.readDoubleBE()
    buf.readFloatBE()
    buf.readIntBE()
    POJ
    【C#】C#托付和事件的实例解说
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/11443859.html
Copyright © 2011-2022 走看看