C语言中最容易犯的几个错误的参考

C语言中最容易犯的几个错误的参考,第1张

C语言中最容易犯的几个错误的参考,第2张

c的特点是功能强大,使用方便灵活。编译后的C程序在语法检查上没有其他高级语言那么严格,这就给程序员留下了“灵活性”,但是这种灵活性还是给程序的调试带来了很多不便,尤其是对于C语言的初学者来说,经常会犯一些连自己错误在哪里都不知道的错误。看着错误的节目,不知道怎么改正。我通过对C的学习,积累了一些C编程中常犯的错误,写出来供大家参考。
1。在编写标识符时,大写字母和小写字母之间的差异被忽略。
main()
{
int a = 5;
printf(%d,A);
}
编译器将A和A视为两个不同的变量名,并显示一条错误信息。大写字母和小写字母是两个不同的字符。传统上,符号常量名大写,变量名小写,以增加可读性。
2。忽略变量的类型,执行了非法操作。
main()
{
float a,b;
printf(%d,a % b);
}
%是求A/B的整数余数的余数运算,整数变量A和B可以求补,实数变量不允许求补。
3。混淆字符常量和字符串常量。char c;
c = a;
在这里,字符常量与字符串常量混淆了。字符常量是用一对单引号括起来的单个字符,字符串常量是用一对双引号括起来的字符序列。c规定以“\”作为字符串的结束符号,由系统自动添加。因此,字符串“a”实际上包含两个字符:“a”和“\ \ ”,但将其赋给字符变量是不可接受的。
4。忽略“=”和“= =”的区别。
在许多高级语言中,符号“=”被用作关系运算符“等于”。比如在BASIC程序中可以写
if (a=3) then …
,但是在C语言中,“=”是赋值运算符,“= =”是关系运算符。例如
if(a = = 3)a = b;
前者是比较A是否等于3,后者是指如果A和3相等,就给A赋值B,因为习惯的原因,初学者经常会犯这样的错误。
5。忘了加号。
分号是C语句不可或缺的一部分,语句末尾必须有分号。
a=1
b=2
编译时,编译器没有找到“a=1”后面的分号,于是将下一行“b=2”作为前一行语句的一部分,这样会导致语法错误。改错时,有时被指出错误的那一行没有发现错误,就要看前面一行是否漏了分号。
{ z = x+y;
t = z/100;
printf(%f,t);
}
对于复合语句来说,最后一个语句中的最后一个分号是不能忽略的,不能写的(和PASCAL不同)。
6。给加分。
对于复合语句,比如:
{ z = x+y;
t = z/100;
printf(%f,t);
};
复合语句的大括号后面不能有多余的符号,否则会画蛇添足。
再比如:
if(a % 3 = = 0);
i++;
如果3除尽A,我就加1。但是因为if (a%3==0)后面是分号,所以if语句到此结束,程序会执行I++语句,不管3是否除A,我都会自动加1。
再比如:
for(I = 0;I {scanf(%d,& x);
printf(%d,x);}
原意是连续输入五个数字,每输入一个数字后再输出。因为在for()后面添加了分号,所以循环体变成了空语句。此时,只能输入和输出一个数字。
7。输入变量时忘记添加地址运算符“&”。
int a,b;
scanf(%d%d,a,b);
这是非法的。Scanf函数用于根据A和B在内存中的地址来存储它们的值。“&a”是指A在内存中的地址。
8。输入数据的方式不符合要求。①scanf(%d%d,&a,& b);
输入时,不能用逗号作为两个数据之间的分隔符。例如,以下输入是非法的:
3,4
输入数据时,可以在两个数据之间使用一个或多个空空格。您也可以使用Enter键和tab键。
②scanf(%d,%d,&a,& b);
C规定,如果“格式控制”字符串中除了格式描述外还有其他字符,则在输入数据时应输入与这些字符相同的字符。以下输入合法:
3,4
此时用空或其他字符代替逗号是错误的。
3 4 3: 4
再比如:
scanf(a=%d,b=%d,&a,& b);
输入应该如下:
a=3,b=4

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言中最容易犯的几个错误的参考

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情