1、strcmp函数了解
使用strcmp函数来比较两个字符串的相等性,返回值并比乐观,如字符串相等时返回0,既C语言中
的false,由于这个原因,可以定义STREQ宏,以便在字符串相等时返回true,该宏如下
#define STREQ(a,b) (*(a)==*(b))&&strcmp((a),(b)) == 0)
2 、switch 语句
如果特定的case或default标记末尾没有转移控制之switch块外的语句(比如break、return、continue),
那么程序将会继续执行下一标记后的语句。在分析代码是,要小心这样的错误。但是在特殊情况下,可能
真的希望这种事情发生。为了向维护者提醒这中情况,一般用一条注释对其标记,如FALLTHROUGH,如
下例:
case 'a'
num +=31;
/* FALLTHROUTH(落空、失败) */
case 'A'
num += 31;
另外一条缺少default标记的switch语句会悄然忽略意外的数值,即使switch处理一系列的数值,也要包含
default标记,这是一个良好的保护性编程实践。