关于C编程的K& R勘误表

时间:2015-03-04 18:19:45

标签: c struct

我正在阅读C lang上的K& R书籍{2nd Addition}。 在第107页,我发现结构类型"点"缺少#34;返回类型" " addpoint"功能。 从书中

/* addpoints: add two points */

 struct addpoint(struct point p1, struct point p2)
 {
 p1.x += p2.x;
 p1.y += p2.y;
 return p1;
 }

期待像

这样的东西
    struct point addpoint(struct point p1, struct point p2)
{
.
.
.

当我说"指向"时,我的理解是否正确?退货类型缺少?我在本书中需要寻找的其他勘误表是什么? 我找到了这个链接 http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html ,这是完整的清单吗?如果有人能指出我这样的更多例子,那将是件好事。

先谢谢。

2 个答案:

答案 0 :(得分:1)

它没有丢失,因为p1被定义为参数中的结构点,我也查找了K& R,并且addpoint被定义为struct point addpoint(struct point p1,struct point p2);

答案 1 :(得分:0)

OP你说得对,缺少“重点”。我猜测早期的编译器可能已经足够宽松,以至于这类事情已经陷入困境。

我认为你不能保证任何勘误列表是完整的,但是这本书已经存在了很长时间,我认为几乎所有的主要问题都会被发现。话虽如此,我从未注意到你刚才指出的问题。

如果您担心的话,我建议您应该对所有内容持怀疑态度,并使用最新的C89编译器以最严格的一致性级别编译和运行所有程序。