附录二C语言调试常见错误.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附录二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=199401;是错误的。 第二类错误分析     1在用scanf函数给普通变量输入数据时,在变量名前漏写地址运算符。       如:scanf(″%d%d″, x, y);    2在scanf函数调用语句中,企图规定输入实型数据的小数位。       如执行以下语句:       

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档