C语言返回值规则详解与495个易错问题

返回值的规则,真是 C 语言里绕不开的老问题。返回值类型别乱省,getchar的例子就挺典型,看似返回char,结果其实是int,一不小心就踩坑了。这本《你必须知道的 495 个 C 语言问题》PDF,讲得还挺细,专挑那些平时容易忽略却能出 bug 的点,挺实用。

比如规则 6-2-1,强调不能省略函数的返回类型,C 里默认成int,容易和void混淆;而C++就不留情,强制你写明类型——这点对习惯 C 写法的人来说蛮重要。

还有规则 6-2-2,getchar 的问题,真的是老生常谈了。像char c = getchar();这种写法,多人觉得理所,结果因为EOF值超了char的范围,if 判断就失效了——不注意真的会调半天找不出原因。

第三条规则也有点意思,不建议用同一个返回值传正常数据和错误码,容易混淆。建议用输出参数带结果,return只管错误。嗯,这个在你写接口设计的时候,尤其是底层库,挺有参考价值的。

如果你做底层开发、写跨平台库,或者经常在 C/C++里兜兜转转,这份 PDF 还蛮值得一读的。排版也挺清爽,高清无水印,内容是以“问题+规则”形式列出来的,找点快速、吸收也快。

pdf 文件大小:655.04KB