(一)C语言编程中常见的错误:
(1)忘记定义变量。
(2)输入输出数据的类型与所用格式说明符不一致。
例如: double a;
scanf("%d", &a);
(3)输入变量时忘记使用地址符。
例如:
int a;
scanf("%d", a);
(4)误把“=”作为“等于”比较符。
如:
if(a=b)
printf("a equal to b");
(5)语句后面漏掉分号。
(6)在不该加分号的地方加了分号。
例如:
if(a>b);
printf("%d", a);
又如:
while(i<=10);
{
sum = sum + i;
i++;
}
(7)对应该有花括弧的复合语句,忘记加花括弧。
例如:
while(i<=10)
sum = sum + i;
i++;
(8)括弧不配对。
例如:
while((c=getchar() !='#')
putchar(c);
(9)在使用标识符时,忘记了大写字母和小写字母的区别。
(10)在定义数组时,将定义的“元素个数”误认为是“可使用的最大下标数”。
例如:
int i, a[10]={1,2,3,4,5,6,7,8,9,10};
for(i=1; i<=10; i++)
printf("%d", a[i]);
(11)switch语句的各分支中漏写break语句。
(12)混淆字符和字符串的表示形式。
例如:
char sex;
sex = "M";
(13)混淆字符数组与字符指针的区别。
例如:
char str[20];
str="Computer";
(14)混淆数组名与指针变量的区别。
例如:
int i, a[5];
for(i=0; i<5; i++)
scanf("%d", a++);
(15)在引用指针变量之前没有对它赋予确定的值。
例如:
char *p;
scanf("%s", p);
(16)不同类型的指针混用。
(17)函数的实参和形参类型不一致。
(18)使用文件时忘记打开,或打开方式与使用情况不匹配。
(二)错误类型
(1)语法错误。
(2)逻辑错误。
例如:求两个数的和时,把“+”误写成“-”。编译并不报错,但执行结果是错误的。
(3)运行错误。
例如:
int a,b,c;
scanf("%d%d", &a,&b);
c = b / a;
printf("c=%d/n", c);
当输入0 5 时,运行会出错。
(三)程序调试
调试程序一般应该经过以下几个步骤:
(1)先进行人工检查,即静态检查。
(2)在人工检查无误后,再上机调试。
(3)运行程序,输入相应的数据,对运行结果作分析,看它是否符合要求。
(4)运行结果不对,大多属于逻辑错误。可以采用以下方法:
a.在程序不同位置插入printf语句,输出有关变量的值,分析判断,逐段往下检查。
b.启动debug(调试)工具(设置断点、单步执行、查看变量值等)。
总之,调试程序是一项细致深入的工作,需要下功夫、动脑子、善于积累经验。