为什么B不正确呢 其他的又为什么正确

不正确的是B
struct node
{
int len;
char *p;
}x={2,"right"}, *p=&x;

A p->pk
B *p.pk
c *p->pk
D *x.pk

B可以对比A、C,结构体指针变量在调用结构体的变量时 需要 用 ->
同样的,如果是结构体变量,比如D,就需要用 . 调用变量