?? c語言常見錯誤小結.htm
字號:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>中國PHP聯盟 - 喜悅國際村 - C語言常見錯誤小結</title>
<meta http-equiv="Content-type" content="text/html; charset=gb2312">
<meta name="keywords" content="中國PHP聯盟 , php programming ,php tutorials ,php faq ,php howto ,php examples,php source code ,php news ,php resource ,php templates , php classes ,smarty php ,php mysql ,php scripts ,php hosting ,using php ,php manual ,zend ,php forum ,php reference ,php content management , php hosting ,php encoder , 域名注冊 , 虛擬主機 .">
<meta name="description" content="中國PHP聯盟 , php programming ,php tutorials ,php faq ,php howto ,php examples,php source code ,php news ,php resource ,php templates , php classes ,smarty php ,php mysql ,php scripts ,php hosting ,using php ,php manual ,zend ,php forum ,php reference ,php content management , php hosting ,php encoder , 域名注冊 , 虛擬主機 .">
<STYLE type=text/css>
BODY { background:url(/pic/bg.gif) repeat-y center;; FONT-FAMILY:宋體; FONT-SIZE:12px }
A:link { COLOR: navy; TEXT-DECORATION: none}
A:visited { COLOR: #336699; TEXT-DECORATION: none }
A:hover { COLOR: #cc0000; TEXT-DECORATION: underline }
td { FONT-FAMILY:宋體; FONT-SIZE: 12px }
</STYLE>
</head>
<body bgcolor="#E6E6FA">
<script src="/js/box.js"></script>
<center>
<!--top-->
<div style="width:800px; clear:left; display:block;">
<div style="float:left;"><img src="/pic/logos.gif" style="float:left"></div>
<div style="float:right;"><script type="text/javascript"><!--google_ad_client = "pub-6064700219302133";google_ad_width = 468;google_ad_height = 60;google_ad_format = "468x60_as";google_color_border = "F1F1F1";google_color_bg = "DFDFDF";google_color_link = "0033FF";google_color_url = "000000";google_color_text = "000000";//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div>
<div style="margin-top:18px;float:left;"><script>makenav(1);</script></div>
</div>
<!--end of top-->
<!--top ad-->
<div style=" margin-top:0px; width:800px;clear:left; display:block;">
<div style="margin-top:5px;margin-left:5px;float:left;width:800px;"><p align=left>當前位置--> <a href='index.php'>首 頁</a> --> <a href='list.php'>文 章</a> --><a href='cml05.html'>C/C++</a></p></div>
</div>
<!--end of top ad-->
<div style=" margin-top:0px; width:800px;clear:left; display:block;">
<!--left-->
<div style=" float:left;width:798px;">
<!--article-->
<div style="margin-top:0px;float:left">
<table border="0" cellspacing="0" width=100% cellpadding="1" style="border-top: #b7c9e6 1px solid;border-left: #b7c9e6 1px solid;border-right: #b7c9e6 1px solid;">
<tr><td width="27" height="20" bgcolor="#87CEEB" align="center">
<img border="0" src="/pic/arrow.gif" width="14" height="14"></td>
<td width="100%" bgcolor="#87CEEB" valign="middle"><b>※閱讀文章※</b></td>
</tr>
</table>
<table border="0" width="798" cellspacing="0" cellpadding="2" bgcolor="#F5FEE7" style="border-right: #b7c9e6 1px solid; border-left: #b7c9e6 1px solid;border-bottom: #b7c9e6 1px solid;">
<tr><td>
<h2> C語言常見錯誤小結</h2><br>
作者:<b>天津</b> [文章出自: www.fanqiang.com]<br>
<!--right-->
<!--right ad-->
<script type="text/javascript"><!--google_ad_client = "pub-6064700219302133";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_color_border = "F1F1F1";google_color_bg = "DFDFDF";google_color_link = "0033FF";google_color_url = "000000";google_color_text = "000000";//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<!--end of right ad-->
<!--end right-->
<br>
<!--HTML_BEGIN-->
<table width="744" border="0" cellspacing="0" cellpadding="0" height="76">
<tr>
<td>
<p>C語言的最大特點是:功能強、使用方便靈活。C編譯的程序對語法檢查并不象其它高級語言那么嚴格,這就給編程人員留下“靈活的余地”,但還是由于這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪里的錯誤??粗绣e的程序,不知該如何改起,本人通過對C的學習,積累了一些C編程時常犯的錯誤,寫給各位學員以供參考。<br>
1.書寫標識符時,忽略了大小寫字母的區別。<br>
main()<br>
{<br>
int a=5;<br>
printf("%d",A);<br>
}<br>
編譯程序把a和A認為是兩個不同的變量名,而顯示出錯信息。C認為大寫字母和小寫字母是兩個不同的字符。習慣上,符號常量名用大寫,變量名用小寫表示,以增加可讀性。<br>
2.忽略了變量的類型,進行了不合法的運算。<br>
main()<br>
{<br>
float a,b;<br>
printf("%d",a%b);<br>
}<br>
%是求余運算,得到a/b的整余數。整型變量a和b可以進行求余運算,而實型變量則不允許進行“求余”運算。<br>
3.將字符常量與字符串常量混淆。<br>
char c;<br>
c="a";<br>
在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號括起來的單個字符,字符串常量是一對雙引號括起來的字符序列。C規定以“\”作字符串結束標志,它是由系統自動加上的,所以字符串“a”實際上包含兩個字符:‘a'和‘\',而把它賦給一個字符變量是不行的。<br>
4.忽略了“=”與“==”的區別。<br>
在許多高級語言中,用“=”符號作為關系運算符“等于”。如在BASIC程序中可以寫<br>
if (a=3) then …<br>
但C語言中,“=”是賦值運算符,“==”是關系運算符。如:<br>
if (a==3) a=b;<br>
前者是進行比較,a是否和3相等,后者表示如果a和3相等,把b值賦給a。由于習慣問題,初學者往往會犯這樣的錯誤。<br>
5.忘記加分號。<br>
分號是C語句中不可缺少的一部分,語句末尾必須有分號。<br>
a=1<br>
b=2<br>
編譯時,編譯程序在“a=1”后面沒發現分號,就把下一行“b=2”也作為上一行語句的一部分,這就會出現語法錯誤。改錯時,有時在被指出有錯的一行中未發現錯誤,就需要看一下上一行是否漏掉了分號。<br>
{ z=x+y;<br>
t=z/100;<br>
printf("%f",t);<br>
}<br>
對于復合語句來說,最后一個語句中最后的分號不能忽略不寫(這是和PASCAL不同的)。<br>
6.多加分號。<br>
對于一個復合語句,如:<br>
{ z=x+y;<br>
t=z/100;<br>
printf("%f",t);<br>
};<br>
復合語句的花括號后不應再加分號,否則將會畫蛇添足。<br>
又如:<br>
if (a%3==0);<br>
I++;<br>
本是如果3整除a,則I加1。但由于if (a%3==0)后多加了分號,則if語句到此結束,程序將執行I++語句,不論3是否整除a,I都將自動加1。<br>
再如:<br>
for (I=0;I<5;I++);<br>
{scanf("%d",&x);<br>
printf("%d",x);}<br>
本意是先后輸入5個數,每輸入一個數后再將它輸出。由于for()后多加了一個分號,使循環體變為空語句,此時只能輸入一個數并輸出它。<br>
7.輸入變量時忘記加地址運算符“&”。<br>
int a,b;<br>
scanf("%d%d",a,b);<br>
這是不合法的。Scanf函數的作用是:按照a、b在內存的地址將a、b的值存進去?!?amp;amp;a”指a在內存中的地址。<br>
8.輸入數據的方式與要求不符。<br>
①scanf("%d%d",&a,&b);<br>
輸入時,不能用逗號作兩個數據間的分隔符,如下面輸入不合法:<br>
3,4
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -