问题
单项选择题
某处理器按照大端方式工作,以下C语言代码执行后的输出是()。
char iArr[10]=0,1,2,3,4,5,6,7,8,9;
short tVal;
short *pVal=NULL;
pVal=(short*)(iArr+2);
tVal=*pVal;
printf("tVal=%x\n", tVal);
A.tVal=Ox203
B.tVal=Ox302
C.tVal=515
D.tVal=770
答案
参考答案:A
解析:
[分析] pVal=(short *)(iArr+2); pVal指向iArr数组中第三个存储单元。
tVal=*pVal; tVal等于pVal指向的地址空间中第一个short型整数,由于处理器按照大端方式工作,所以tVal=Ox203,如果按照小端方式工作,则tVal=Ox302。
printf("tVal=%#x\n",tVal);%#x是按照16进制输出,并且增加Ox前缀。