考研的备考中,对于历年真题的复习,也是提升考试分数的重要方法。为了让大家更好的积累学习,小编为大家整理了历年考研真题,下面是关于“有以下语句,则表达式*((int *)(p-1)+2)的值为( )。”,希望对大家有更好的帮助。
2、有以下语句,则表达式*((int *)(p-1)+2)的值为( )。
A、10
B、7
C、3
D、11
2、试题答案:C
试题解析:
由题中程序块可知,p=a+1;即p指向a[1]。对于表达式*((int *)(p-1)+2),其中p-1使得p指向a[0],(int *)(p-1)将(p-1)数据类型强制转换为int*型(整型指针),故*((int *)(p-1)+2)就是a[0]({1,2,3,4})中第三个元素的值,即表达式的值为3。故本题选C。
强制类型转换运算符的一般形式为(类型名)(表达式)。注意,表达式应该用括号括起来,如果写成(int)x+y,则只将x转换为整型,然后与y相加。需要说明的是,在强制转换类型时,得到一个所需类型的中间数据,而原来变量的类型未发生改变。
【考点】本题考查结构体指针。
以上“有以下语句,则表达式*((int *)(p-1)+2)的值为( )。”,更多关于考研真题内容将不断更新。
