关于C语言的一道选择题

来源:百度知道 编辑:UC知道 时间:2024/09/24 20:33:07
以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是

A) 212 B) 204 C) 1a4 D) 1a6

麻烦解释一下,谢谢
太匆忙了,忘记把程序写上。。。。以下是程序
main()

{ int a[]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%x\n",p);

printf("%x\n",p+9);

}

首先知道p=a,就是说*p=a[0]=1~那*(p
+9)=a[9]=0.
现在要输出的是p、p+9,换句话说是a[0]、a[9]的地址。那告诉你a[0]的地址是194,每个数据之间的地址长度为2字节(int *p表明p是
指针类型数据,占用2个字节),现在是不是很容易算了呢:194+9*2 = 1a6(%x表示按16进制输出).答案选d

程序是什么```

d```这个答案说的很正确```我都不好说什么了