高通笔试题目(记忆)

2012年11月23号,我冒着寒风细雨,几经周折到了二号线边上的浦东软件园,目的:高通面试。

 话说接到了高通的面试通知,本身是挺激动人心的,崇明岛到上海浦东,虽然都是上海范围,但何其远也。 

后来发现这个面试是被忽悠了,这些都暂且不表。到了先做的题目。记一下了几题,在这里趁新鲜,写下来。(C和C++的)

1. ((int *)(0)+5)的值? 

这个后来我在code里跑了一下是:0x14-----我想不明白是为什么,求解答!

2. union a { int i; char c[2]; }

u1;int main( )

{ u1.c[0]=10; 

u1.c[1]=1; 

bs = u1.i; 

//expected 

output 266 

cout<<"Union test:"<<u1.i<<" "<<bs<<endl; 

return 0;}

以上代码的输出结果? ----这个是:266.我倒是选择对了。原因如下:Union是声明一块内存,里面定义的对象公用的。也就是说:union a,声明后,sizeof(a)的大小实际为:4(int的大小)。将char c[]赋值,也就是从分配地址空间的低位向高位赋值,变成:00000000 00000000 00000001 00001010还有一些,是指针啊,或者sizeof和strlen之类的,考的都是基础,但是比较容易错。的确是这样,汗!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值