1、if或while语句
若错误行是if或者while语句,则要注意以下点:
1)首先判断是否正确书写if或while关键字
2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号
3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符
4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(= =)
5) 若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号
2、for语句
若错误行是for语句,则要注意以下几点:
1)首先判断for有没有书写正确
2)然后看for中的表达式是不是用分号()隔开,若不是则改为分号。
记住是分号(),不是逗号(,)!
3) 再者,分析for中的三个表达式,是否符合题意
第一个表达式表示起始条件
第二个表达式表示终止条件
第三个表达式表示循环变量的变化。
3、 return语句
若错误行为return语句,则要注意以下几点:
1)首先看是不是正确书写return关键字
2)然后看是不是缺少分号,若是则加上分号即可
3)再者判断return后的变量或表达式是否正确
这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。
4、 赋值语句
若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。
5、 定义语句
若错误行是定义语句,则要注意:
1)首先分析变量类型名是否写对
2)然后分析给变量赋初值是否正确
3)若以上均不是,则看是不是少定义了某个变量或少了花括号
c语言程序改错题技巧
改错题技巧
1、区分两种类型错误
是否可以编译
不可编译 语法错误
可以编译 算法错误
2、如何处理错误
语法错误
通过常见易错点判断
通过点击编译器看提示找问题
算法错误
根据具体问题而定
二、常见的语法错误
函数的使用错误
1、 scanf函数中没有取间址符&
2、 绝对值的使用
abs(a)用于a整数取绝对值
fabs(a)用于是浮点数a取绝对值
3、 printf()函数注意要答应值的类型是(“%d”,a)还是(“%c”,a)等
注意函数的三个部分void fun (long s,long *t)
1、 返回值类型是否缺失,返回值的类型是否正确
2、 注意传入的的参数的类型,传入参数若为二维数组a[i] [j] ,i可以为空,但是j不能为空 。如a[][]就是错误的
3、 传入的参数是否有类型,参数是数字还是指针
条件语句和循环语句
for循环出错,1.错写关键字For 2.for语句分号写错
while(r)的循环语句中,如果r为指针则不能作为判断条件,必须以*r作为判断条件
if()判断条件中
1、 大小写的符号搞反了
2、 符号混淆 ==是否写成=
其他
语句结束分号缺失 如return s
没有赋初始值就进行运算
1、 int sum
2、 sum=sum+1
3、 此时会出错
宏定义表达式是否需要()符号是否错误
错用%和/两个符号
字符串数组的结束符书写错误
1、 写成0
2、 写成o
3、 写成‘/0’
正确写法 ‘ ’
注意关键字的大小写是否出错
提示:改错题的一个语句可能存在多处错误