单选题 如图所示:带有头结点的单向链表head,其三个数据结点A、B、c的连接关系见图。
【正确答案】 A
【答案解析】解析:link结构体中的next是链表中下一个结点的地址,由于p当前指向A,所以p->next是B的地址,p->next->next是C的地址,访问C的结点数据成员dt可以使用C的地址访问,即:p->next->next->dt,选项B正确;p是A的地址,所以*p是结点A,(*p).next是B的地址,由于成员运算符.的优先级高于解引用运算符*,所以*(*p).next是结点B,(*(*p).next).next是C的地址,*(*(*p).next).next是结点C,引用C的dt成员:(*(*(*p).next).next).dt。同理,也可以既使用指针运算符,也使用解引用运算符来访问c的结点数据成员dt,即(*(p->next->next)).dt,选项D正确;选项A中,*p表示A结点,(*p).next表示结点B的地址,由于->运算符的优先级高于*运算符,所以先执行->,即表达式(*p).next->next->dt引用了C结点的数据成员dt,然后再执行解引用运算水,这是错误的,本题答案为A。