再论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代替后增量。有些编译器还提到避免在循环条件中使用后增量。

转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11443859.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值