考试网 >> IT认证 >> 等级 >> 等级动态 >> C语言的常见错误

C语言的常见错误

发布时间:2006-07-25 12:00     点击:
分页:上一页  1 [2] 3 4 5  下一页

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在内存中的地址。 

  
分页:上一页  1 [2] 3 4 5  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有