#include
void 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,则第二个printf语句的输出结果是?
A.203 B.204 C.1a4 D.1a6
正确选项是哪一个?
int 型 4个字节, p 如果输出十六进制为 194 , 那 p + 9 , 相当于 194 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 , 按照十六进制,每 16进1 .
194 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4
= 198 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4
= 19c + 4 + 4 + 4 + 4 + 4 + 4 + 4
= 1a0 + 4 + 4 + 4 + 4 + 4 + 4
= 1a4 + 4 + 4 + 4 + 4 + 4
= 1a8 + 4 + 4 + 4 + 4
= 1ac + 4 + 4 + 4
= 1b0 + 4 + 4
= 1b4 + 4
= 1b8
结果应该为 1b8