若以下定义: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.