C语言中的常见错误与程序调试
主要内容
14.1常见错误分析
14.2程序调试
要真正学好C、用好C并不容易,“灵活“固然是好事,但也使人难以掌握,尤其是初学 者往往出了错还不知怎么回事。C编译程序对语法的检查不如英他髙级语言那样严格(这是 为了给程序人员留下“灵活”的余地)。因此,往往要由程序设讣者自己设法保证程序的正确 性。调试一个C程序要比调试一个PASCAL或FORTRAN程序更困难一些。需要不断积累 经验,提髙程序设计和调试程序的水平。
C语言有些语法规左和其他髙级语言不同,学习过其他髙级语言的读者往往按照使用其 他高级语言的习惯来写C程序,这也是岀错的一个原因。
14.1常见错误分析
下面将初学者在学习和使用C语言(不包括C++)时容易犯的错误列举出来,以起提醒的作用。 这些内容在以前各章中大多已谈到,为便于查阅,在本章中集中列举,供初学者参考,以此 为鉴。
忘记定义变量如:
main()
y=6;
printf("%d\n ", x+y);
}
输入输出的数据的类型与所用格式说明符不一致。
例如,若a已定义为整型,b已定义为实型。
a=3:b=4? 5;
printf(N%f %d\nM> a, b);
编译时不给出出错信息,但运行结果将与原意不符,输出为
0. 000000 16402
它们并不是按照赋值的规则进行转换(如把4. 5转换成4),而是将数据在存储单元中的形式 按格式符的要求组织输岀(如b占4个字节,