黑暗萝莉啥意思:问一个C语言问题

来源:百度文库 编辑:高考问答 时间:2024/05/05 06:51:53
若以下定义:
struct link
{
int data;
struct link *next;
}a,b,c,*p,*q;
若要指针p指向变量a,q指向变量c.则能够把c插入到a和b之间并形成新的链表的语句组是:
A)a.next=c; c.next=b;
B)p.next=q; q.next=p.next;
C)p_>next=&c; q_>next=p_>next;
D)(*p).next=q; (*p).next=&b;
答案选D.可是我觉得A也可以啊.有谁可以说一下为什么吗?先谢了

的确选D呀,A语法错误。
next是一个指针,而b、c是一个变量,
所以赋值 a.next = c和 c.next = b都是错误的,应该是a.next = &c和c.next = &b.

链表的一个大特点:有一个指针域 如果是A,那么就没体现链表的特征
在c语言中也不能形成链表的

A)a.next=c; c.next=b;

是错的,并没有连成链,如果把等号换成“-〉”可以