频道栏目
首页 > 程序开发 > Web开发 > 其他 > 正文
数组的深入理解之p=&(b+1)[5]
2015-10-10 10:37:59         来源:借你一秒  
收藏   我要投稿
#include

int main() 
{
char *p; 
char b[10]={1,2,3,4,5,6,7,8,9,10}; 
p=&(b+1)[5]; 
printf(%d,*p); 
}

 

结果是7

 

解析:

 

对一个数组来说,a[n] = a + n 是个恒等式。其实在汇编里,它们就是一个东西。
所以a = (b+1)[5] = (b + 1) + 5 = b + 6 = b[6] = 7;
如果用printf(%d,p);就会输出7;
如果用printf(%c,p);计算机的蜂鸣器会发响一声,因为ASCII码为7的字符就是一个响铃。 
你说没有输出结果,是因为ASCII为7的字符不是可打印字符,它的作用就是让蜂鸣器响一声。

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 数组
上一篇:布局之LinearLayout
下一篇:Swift 2.0学习笔记(Day 20)——函数中参数的传递引用
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站