Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4524252
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-05-14 09:24:42


    表达式1[表达式2] * ( (表达式1 +表达式2 ) ) )

    是完全等价的。


    如果:表达式1[表达式2] * ( (表达式1 +表达式2 ) ) )完全等价,那么是否可以说“Ex1[Ex2]”与“Ex2[Ex1]”也完全等价呢?


  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.     int i[1]={7};
  5.     printf("i[0]=%d \n0[i]=%d\n",i[0],0[i]);
  6.     return 0;
  7. }
  1. ywx@yuweixian:~/yu/professional/3$ ./or
  2. i[0]=7
  3. 0[i]=7


说明:

    i[0]   =    *( (i) + (0) )

    0[i]   =    *( (0) + (i) )

 

    所以说, 这两个数是相等的。。


那么如果是

 

    (i+1)[-1]   =    *( (i+1) + (-1) )  =7

     

    (-1)[i+1]   =    *( (-1) + (i+1) )  =7  



 

阅读(650) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~