- 相干保举
C说话入门罕见毛病
C说话的矫捷给法式的调试带来了很多方便,特别对初学C说话的人来讲,常常会出一些连本身都不晓得错在那里的毛病,上面清算了一些罕见毛病,一路来看看吧!
1.誊写标识符时,疏忽了巨细写字母的区分。
main()
{
int a=5;
printf("%d",A);
}
编译法式把a和A以为是两个差别的变量名,而显现犯错信息。C以为大写字母和小写字母是两个差别的字符。习气上,标记常量名用大写,变量名用小写表现,以增添可读性。
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相称,把b值赋给a。因为习气题目,初学者常常会犯如许的毛病。
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,则I加1。但因为if (a%3==0)后多加了分号,则if语句到此竣事,法式将履行I++语句,不管3是不是整除a,I都将主动加1。
再如:
for (I=0;I<5;I++);
{scanf("%d",&x);
printf("%d",x);}
本意是前后输出5个数,每输出一个数后再将它输出。因为for()后多加了一个分号,使轮回体变为空语句,此时只能输出一个数并输出它。
7.输出变量时健忘加地点运算符“&”。
int a,b;
scanf("%d%d",a,b);
这是不正当的。Scanf函数的感化是:根据a、b在内存的地点将a、b的值存出来。“&a”指a在内存中的地点。
8.输出数据的体例与请求不符。
①scanf("%d%d",&a,&b);
输出时,不能用逗号作两个数据间的分开符,如上面输出不正当:
3,4
【C说话入门罕见毛病】相干文章:
C说话入门常识07-20
c说话入门典范法式08-01
C说话入门甚么是编程说话10-12
C说话常量入门进修06-05
C说话自学入门技能09-17
C说话入门常识:常量08-31
入门首选C说话的缘由07-25
c说话入门根本常识07-18
C说话入门的根基进修方式09-29