问题 单项选择题

某处理器按照大端方式工作,以下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前缀。

单项选择题
单项选择题