文档详情

c语言调试常见错误.doc

发布:2017-04-04约3.68千字共5页下载文档
文本预览下载声明
第Ο大类:基础性错误 1.指法错误,多为某些关键字的误写如 main写成了mian printf写成了printtf,print等 变量上下部一致,比如int charat ,到了下行又写成int chart等 2.创建程序的时候一个工程没有只含一个main函数 3.创建c语言程序时候扩展名没有改为.c ? 一、第一类错误分析     1在使用变量前未定义。       例如:        main()        {a=1;         b=2;         printf(″%d\n″, a+b);        }     2语句后面漏写分号或不该加分号的地方加了分号。       C语言规定,语句必须以分号结束,分号是C语句不可缺少的一部分,这也是和其它高级语言不同的一点。初学者往往容易忽略这个分号。      如:       x=1       y=2;      又如在复合语句中漏写最后一个语句的分号:       {t=x;        x=y;        y=t       }     3不该有空格的地方加了空格       例如,在用/*...*/对C程序中的任何部分作注释时,/与*之间都不应当有空格。       又如,在关系运算符<=,>=,==和!=中,两个符号之间也不允许有空格。    4定义或引用数组的方式不对。       C语言规定,在对数组进行定义或对数组元素进行引用时必须要用方括号(对二维数组或多维数组的每一维数据都必须分别用方括号括起来),例如以下写法都将造成编译时出错:        int a(10); int b[5,4];        printf(″%d\n″,        b[1+2,2]);     5混淆字符和字符串       C语言中的字符常量是由一对单引号括起来的单个字符;而字符串常量是用一对双引号括起来的字符序列。字符常量存放在字符型变量中,而字符串常量只能存放在字符型数组中。例如,       假设已说明num是字符型变量,则以下赋值语句是非法的:        num=″1″;    6在引用数组元素或指针变量之前没对其赋初值。       例如:       main()                  main()       {int a[6],b;              {int *ptr, i=1;        b=a[5];                 *ptr=i                                    }                     }      以上两个程序段在编译时均会出现警告信息。    7混淆数组名与指针变量       在C语言中,数组名代表数组的首地址,它的值是一个常量,不能被修改。例如,在以下程序段中,用a++是不合法的。        main()        {int i, a[10];         for (i=0;i<10;i++)         scanf(″%d″, a++);                 }    8混淆不同类型的指针。       若有以下语句:       int *p1, a=1;       float *p2;       p1=a;       则赋值语句p2=p1是非法的。    9混淆指针说明语句中的*号和执行语句中的*号。       设有以下说明语句:        int *p1, i=1;        则 *p1=i;是不合法的。    10误将函数形参和函数中的局部变量一起定义。       例如:       fun(x,y)       float x, y, z;       {x++; y++; z=x+y;               }    11所调用的函数在调用前未定义。       main()       {float a=10, b=20, c;       c=fun(a,b);              }       float fun(x, y)       float x, y;       {x++; y++;              }    12混淆结构体类型名和结构体变量名。        若定义了以下结构体类型student:        struct student        {long int num;         char name[20];         int age;         float score;        };       则赋值语句:student.num=1
显示全部
相似文档