参考《代码大全》及自己编程(C)中的一些错误记录,总结编程中产生错误的一些原因。 1.拼写错误 a) 变量名,宏名,函数名等拼写错误,在编译阶段直接报错; b) 变量名,宏名,函数名等拼写为相近的变量名,宏名,函数名等,在运行时出错; 2.逻辑错误 a) if语句的真值逻辑判断,没有包括全部的条件, ...
continue语句用来返回循环的起始处,而break语句用来退出循环。 例如,下例中就有一条典型的continue语句: while(!feof(infile)) { fread(inbuffer,80,1,infile);/*read in a line from input file*/ if ...
(1)用宏定义表达式时,要使用完备的括号。 示例:如下定义的宏都存在一定的风险。 #define RECTANGLE_AREA( a, b ) a * b #define RECTANGLE_AREA( a, b ) (a * b) #define RECTANGLE_AREA( a, b ) (a) * (b) 正确的定义应为: #define RECTANGLE_AREA( a, b ) ((a) * (b)) (2)将宏所定义 ...
1 避免使用默认的运算优先级 注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级,可防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。 示例:下列语句中的表达式 word = (high 8) | low (1) if ((a | b) (a c))&nb ...