看到ANSI Common Lisp 第三章的游程编码时,就发现作者很准确的使用了list和cons来生成目标列表,虽然list是由cons扩展而来,区别也仅仅是最后一个元素的加入方式,于是勾起了之前对cons的疑问. 当看到下面的这样的代码: (cons '(a b) '(c d)) 你会觉得输出结果是 ((a b) (c d)) 还是 ((a b) c d) 虽然敲入一下代码,就知道是后者,可是,为什么呢? 仔细看第三章cons的说明,发现cons放在c语言里面,无非就是一个如下的结构 ty