今天偶然看到的一道题
来源:互联网 发布:淘宝卖家服务电话 编辑:程序博客网 时间:2024/06/10 05:54
今天偶然看到一位仁兄发的帖子说考遍东北三省没人作出来,我觉得很有意思便贴
下面的C代码在VC++6.0下的运行结果是什么?请详细说明原因。
#include <stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int *ptr1=(int *)(&a+1);
int *ptr2=(int *)((int )a+1);
printf("%x,%x",ptr1[-1],*ptr2);
return 0;
}
int main()
{
int a[5]={1,2,3,4,5};
int *ptr1=(int *)(&a+1);
int *ptr2=(int *)((int )a+1);
printf("%x,%x",ptr1[-1],*ptr2);
return 0;
}
其中第一个是&a+1的问题,很明显可以看出ptr1[-1]的答案是5就不说了
第二个*ptr2的题目很有意思有个对其的问题
0x00000001和0x00000002在内存中的排列是这样的
0x01000000和0x20000000
两个排在一起就变成了0x0100000020000000
于是(int)a+1的指针指的位置在内存中就是0x00000020于是转化成我们熟悉的数字就是0x20000000
这题目挺有意思的,拿出来调侃一下^_^
假如招嵌入式的学生还是可以到西南科技大学看看哈,虽然并不是所有人都做的出来,不过肯定有人能作出,呵呵,本人大三还没找工作呢。。。假如来我们学校考这到题就好了^_^
- 今天偶然看到的一道题
- 偶然看到的一段话
- 偶然间看到的诗
- js日历组件,今天偶然看到的觉得很好就抄袭了过来,
- 偶然看到
- 偶然看到的一句话,觉得不错
- 偶然看到c#的一段容器代码
- 偶然看到的一首小诗
- 偶然看到的 “蘑菇定律”立志文章
- 网上偶然间看到的,转一下
- 今天遇到的一道题
- 网上看到的一道题,给出解法
- [CSDN]首页看到的一道算法题
- 看到的一道阿里笔试题
- 今天看到的一句话
- 今天看到的消息
- 今天看到的,所想
- 今天看到的 排行榜
- 利用正则表达式验证email地址的合法性
- ssh配置顺序
- 嵌入式中自己编译gdb和gdbserver工具
- MM--关于Material Management的自动抛帐
- 其实法国计算机教育也很死板
- 今天偶然看到的一道题
- E文积累_20080201_i don't have all day
- TreeCtrl的用法
- SQL Server CHARINDEX和PATINDEX详解
- DataBinder.Eval总结
- springwith--1
- 广州买火车票,电信压力测试及EPON优势
- MD5使用全教程
- Hander妙用