当前位置:编程学习 > C/C++ >>

[C++程序设计笔试题]详细阐释

1、数组指针地址偏移了多少
 
main()
{int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9);
}   
该程序有两个printf语句,如果第一个printf语句输出的是194则第二个语句输出的结果是?
解析:
 
考察内容
 
数组地址连续分配;
 
每个连续的内存空间大小一样;
 
此题地址表示是16进制计算
 
解答
 
12和24是这样的出来的:
32位机中,int型2个字节,所以是2*9=18=12(十六进制)
64位机中,int型占4个字节,所以是4*9=36=24(十六进制)
 
所以最后:24+194=1 11 8=1B8
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,