C 语言很多坑,调试起来就是要命,野指针更是难以察觉。不管什么坑,代码规范,可读性一定是最重要的。始终注意,你写的代码虽然是给机器运行,但是给他人看得懂才是关键。注释少废话,多点实用性可以防止自己写 BUG。

    错误类型 题号 说明
    变量 (1)忘记定义变量
    (3)未注意int和short数据的数值范围
    (13)在用标识符时,混淆了大写字母和小写字母的区别
    输入(scanf 函数)输出 (2)输入输出的数据的类型与用户指定的输入输出格式声明不一致
    (4)在使用输入函数scanf时,忘记用变量的地址符&
    (6)在用scanf函数向字符数组输入数据时,在数组名前面多加了&
    (7)在用scanf函数向数值型数组输入数据时,用数值型数组名
    (5)输入数据的形式与要求不符 格式控制输入
    C 语法 (8)语句后面漏分号
    (9)把预处理指令当作C语句,在行末加了分号
    (10)在不该加分号的地方加了分号
    (11)对应该有花括号的复合语句,忘记加花括号
    (12)括号不配对
    数组 (15)引用数组元素时误用了圆括号
    (17)对二维或多维数组的定义和引用的方法不对
    (16)在定义数组时,将定义的“元素个数”误认为是“可使用的最大下标值” 数组索引从 0-> n-1

    其实本章内容应该是 C 语言入门大坑,很多人对 C 爱恨交加,写起工程来搬砖!天天造轮船和写 BUG。但是它的效率确是数一数二的。很大没有让人烦躁的问题,在历代新的语言中都给干掉,比如 python 就是面向非计算机专业人学习的,除去很多造坦克环节,把上面的很多 C 语言坑填满。比如不再有定义变量、再也不害怕数据溢出、让人头大的指针消失了、一行代码可以解决很多事!但是代价就是执行效率。

    不管怎么说,学习就是要知道很多,不让自己变懒,即使现在有很多现成的工具,框架可以让你用,非常省时省力。但从长远来说,你学到的东西才是真材实料,总是搞模板装花样,让你自己说具体原理,就不会了。总之明确学习的目的是不是为了敲代码而敲代码,而是训练思维,增加见识的过程。C 语言虽然没有当今流行语言方便,但是其能历经开创到现今依然永存的原因恐怕只能用哲学的观点解释:历史发展的趋势!