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