从里向外写
先是取表尾tail(L)=( ((c,d),(e,f)) ),然后取表头head(tail(L))=( (c,d),(e,f) ),接着取表尾
tail(head(tail(L)))=( e,f ),最后取表头head(tail(head(tail(L))))=e
所以选择B
head是去掉最外层括号,然后保留第一个,前的东西
tail是去掉head所保留的那部分以及紧随其后的那个, 注意:这里括号就不需要去掉
所以应该选D
tail取完要加括号 别忘了这个就很容易得出答案是D
head(tail(L))语句意思是取广义表表尾,原题语句就是对L连续两次取表尾,第一次结果是((c,d),(e,f)),然后对得到的结果((c,d),(e,f))取表尾,最终结果(e,f),选D
根据广义表的定义表头为第一个元素,剩下的都是表尾。
所以tail(L)求的是表尾: tail(L)=(((c,d),(e,f)))
head(tail(L))=((c,d),(e,f));
tail(head(tail(L)))=((e,f));
head(tail(head(tail(L))))=e;