360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析5
2014-10-19 10:56
441 查看
一 题目
原题题号:
21
题目:
#include <stdio.h>
int main(int argc, char **argv)
{
int a[5] = {1,2,3,4,5};
int *ptr = (int *)(&a + 1);
printf("%d,%d",*(a+1),*(ptr-1));
return 0;
}
二 程序:
添加换行便于显示:
结果:
三 解析
很经典的题目:
a指针指向的地址为a[0],a+1即a[1]的地址,故*(a+1)=2;
&a是数组指针,其类型为int(*)[]5 ---------- [1]
&a+1相当与在a的地址基础上加了一个数组长度(5),因此ptr=&a[5];
*(ptr-1)=a[4]=5
参考:
1
http://blog.sina.com.cn/s/blog_75b0e2ad01014ig3.html
原题题号:
21
题目:
#include <stdio.h>
int main(int argc, char **argv)
{
int a[5] = {1,2,3,4,5};
int *ptr = (int *)(&a + 1);
printf("%d,%d",*(a+1),*(ptr-1));
return 0;
}
二 程序:
添加换行便于显示:
#include <stdio.h> int main(int argc, char **argv) { int a[5] = {1,2,3,4,5}; int *ptr = (int *)(&a + 1); printf("%d,%d",*(a+1),*(ptr-1)); printf("\n"); return 0; }
结果:
三 解析
很经典的题目:
a指针指向的地址为a[0],a+1即a[1]的地址,故*(a+1)=2;
&a是数组指针,其类型为int(*)[]5 ---------- [1]
&a+1相当与在a的地址基础上加了一个数组长度(5),因此ptr=&a[5];
*(ptr-1)=a[4]=5
参考:
1
http://blog.sina.com.cn/s/blog_75b0e2ad01014ig3.html
相关文章推荐
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析1
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析3
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析7
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析2
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析4
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析6
- 腾讯技术类校园招聘笔试试题(A8卷)
- 2015年秋季腾讯校园招聘开发岗笔试题(四道大题)
- 迅雷校园招聘笔试题及答案解析(部分)
- 2015年秋季腾讯校园招聘开发岗笔试题 四道大题三、四
- 如何判断两个矩形是否有重叠部分?(某公司校园招聘笔试试题)
- 如何判断两个矩形是否有重叠部分?(某公司校园招聘笔试试题)
- 腾讯技术类校园招聘笔试试题
- 阿里巴巴2010校园招聘技术类笔试试题
- 2015年秋季阿里巴巴在线笔试——Java研发师——部分试题分析
- 2011淘宝技术类校园招聘之笔试题解析
- 2011淘宝技术类校园招聘之笔试题解析
- 2015年阿里巴巴秋季校园招聘笔试题目
- 2015年秋季腾讯校园招聘开发岗笔试题(四道大题)
- 2015年秋季腾讯校园招聘开发岗笔试题 四道大题之二