面试题1
来源:互联网 发布:数据防泄漏国内厂家 编辑:程序博客网 时间:2024/05/19 22:46
有以下代码:
struct A{ bool b; int arr[2]; int i; int j;};int main(){ A a; a.b = false; a.arr[0] = 1; a.arr[1] = 2; a.i = 20; a.j = 30; *(a.arr + 1) = 40; A*p = 0; unsigned int q = (unsigned int)(&p->i)); (*(int*)((char*)&a +q)) = -50; return 0;}
当main函数返回之前,请问以下哪些说法是错误的:( )
A a.b的值是false
B a.arr[0]的值是1
C a.i的值是20
D a.j的值是30
答案:C
解析:
A:a.b的值从来没有改变过,因此为false
B:a.arr[0]的值也没有改变过,因此为1,而*(a.arr + 1) = 40;一句修改的是a.arr[1]的值
C:p的地址为0,那么&p->i的地址为12,相当于i相对于结构体头地址的偏移量为12个字节,(char*)&a +q自然就指向的a中i的地址,i被修改为-50
D:a.j的值也没有改变过,为30
阅读全文
0 0
- [面试题] 随机数相关面试题(1)
- java面试题1
- JAVA面试题-1
- 华为面试题1
- C#面试题 1
- 英文面试题(1)
- 面试题1-- Intel
- C++面试题1
- 面试题(1)
- c# 面试题1
- 中兴面试题1
- .net面试题1
- 面试题1
- 面试题1
- .NET 面试题1
- java面试题1
- sql面试题(1)
- 面试题1
- 小白Java笔记——垃圾回收机制
- marquee功能:marquee的速度怎么设置
- HTML5的manifest缓存
- Git使用——与github共舞01
- 嵌入式Qt下UTF8转GBK
- 面试题1
- 我今天遇见的hql和纯sql的坑
- 模拟Android内存不足 activity回收 值保存 状态恢复
- ios-KVC深入
- Linux (Ubuntu/deepin等)终端命令安装Lamp
- js实现html网页直接转pdf
- Android meta-data代码中调用
- Kaggle泰坦尼克预测(完整分析)
- 高斯列主元消去法