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 还蛮值得一读的。排版也挺清爽,高清无水印,内容是以“问题+规则”形式列出来的,找点快速、吸收也快。
655.04KB
文件大小:
评论区