个人觉得标准库未必就好。
但凡指向某段空间的指针位置遍历移动前，保存初始值的做法还是非常规范.
函数定义是第二个参数为什么是int c，而不是 unisgned char ？
库函数通常会将字符用unisgned处理，目前我能认识到的好处主要在做比较的时候，ascll 码本身有大于256的字符, 以便处理.