很多初次学习C语言的同学总会犯这样那样的错误,虽然C语言编程在语法方面的宽松给编程人员留下了很大的自由发挥的余地,但正是这些“余地”,给程序的调试带来了诸多不便,尤其对于初学C语言的同学来说,经常会出一些自己都不知道错在哪里的错误,下面就给大家分享几个C语言初学者常见的并且容易犯的错误。
01在main函数后加分号
C语言main函数只有参数,后面接大括号,是没有分号的。加了分号,会产生一系列错误提示,事实上,你只是多加了个分号而已。
02编写标识符时,忽略了大小写的区别
在C语言中,小写字母和大写字母是不同的字符,如果定义时写小写,输出时写大写,必然会报错。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
03printf函数没有用双引号括起来
当printf没有用双引号括起来时,编译器就会出现如下错误提示:
error C2001:newline in constant
error C2146:syntax error:missing ')' before identifier 'scanf'
意思是新的一行没有断开,语法错误,少了)
实际上,是少了个双引号。
04忽略了“=”和“==”的区别
在许多高级语言中,用“=”符号作为关系运算符“等于”。但C语言中,“=”是赋值运算符,“==”是关系运算符。例如:if (a==5) b=a;前者是进行比较,后者是把a的值赋给b。
05switch语句中漏写break语句
有时候我们需要用switch语句来进行条件选择,其中case只起标号的作用,而不起判断作用,漏写了break,在执行完当前语句后,就无法跳出条件选择,继续执行后面的语句。
06将字符常量与字符串常量混淆
char c;
c=“a”;
这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a’和‘\0’,而把它赋给一个字符变量是不行的。
07忽视了while和do-while语句在细节上的区别
while循环是先判断后执行,而do-while循环是先执行后判断。do-while循环要额外执行一次循环体。
08输入变量时忘记加地址运算符“&”
这种输入是不合法的,scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。
以上就是一些C语言初学者容易犯的错误,希望能帮助到大家哦!!
更多有关C语言和C 的知识和学习资料,欢迎关注*C语言学习基地!