>第 3 章 简单函数>自定义函数

chen cry2133@gmail.com http://learn.akae.cn/media/ch03s02.html
2009-02-28 11:06:59

“要保证每个函数的原型出现在调用之间”
是不是有错别字啊,应该改为:“要保证每个函数的原型出现在调用之后”吧!


宋劲杉 songjinshan@akaedu.org
2009-03-01 08:39:14

谢谢指出!已改正,应该是“调用之前”


Laciq dd@qq.com
2009-06-21 11:44:33

void函数没有返回值,它仅能被当作一个语句,不能被当作表达式。
任何表达式都应该能被计算出一个值。


Laciq dd@qq.com
2009-06-21 11:48:14

上述引自Behrouz A.Forouzan与Richard F.Gilberg的《Computer Science:A Structured Programming Approach Using C》第三版


宋劲杉 songjinshan@akaedu.org
2009-06-22 23:08:22

如果你的修改意见引自C99,我会认真考虑修改的。


lilhongping lihongping2008@yahoo.cn
2009-09-19 18:50:25

宋老师您好!
为什么“例 3.2. 最简单的自定义函数”当中自定义函数
 void newline(void)
{
	printf("\n");
}
与
void threeline(void)”
{
	newline();
	newline();
	newline();
}

调换位置后会报错呢?



Laciq dd@qq.com
2009-10-02 09:26:13

在传统C中不使用函数原型。
而在C99中,旧式的非原型形式被当成是过时的。
所有现代的C代码都应该使用原型来编写。
摘自 C:A Reference Manual (Fifth Edition)


Laciq dd@qq.com
2009-10-03 18:57:33

为什么书中的代码除了这一节的一个示例程序外都不按C99的要求使用函数原型呢?是为了兼容非标准编译器或者过老编译器增加程序可移植性吗?


Laciq dd@qq.com
2009-10-04 11:52:51

上面的话属于胡说八道,敬请无视。


周笑镭 rains.chou@gmail.com
2009-10-21 00:59:08

请教一个问题:
我写return 4;
或者return 100;
ubuntu 9.04终端都没有您的提示,是不是编译环境哪里不一样吗?


周笑镭 rains.chou@gmail.com
2009-10-21 01:00:10

另外,建议threeline()改成threelineS()


宋劲杉 songjinshan@akaedu.org
2010-01-21 16:47:09

to Laciq:

你对函数原型的理解有偏差,本书的所有代码都使用了函数原型,符合C99标准。并不是只有声明的才叫函数原型,在定义的同时声明的也叫函数原型。


宋劲杉 songjinshan@akaedu.org
2010-01-21 16:48:36

to 周笑镭:

虽然只加一个字母,不过符合我的喜好,我决定采纳你的建议。谢谢!


如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!