十大編譯錯(cuò)誤及解析_第1頁(yè)
十大編譯錯(cuò)誤及解析_第2頁(yè)
十大編譯錯(cuò)誤及解析_第3頁(yè)
十大編譯錯(cuò)誤及解析_第4頁(yè)
十大編譯錯(cuò)誤及解析_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、十大編譯錯(cuò)誤及解析錯(cuò)誤(Error)Statement missing; Declaration syntax error Undefined symbolxxx Misplaced elseCompound statement missingRedeclaration of“xxx”Constant expression required For statement missing; Too few parameter in call toxxxCase statement missing:Lvalue repuiredDivided error 或 division by zero 警告(

2、warning)Code has no effect 。1Statement missing ;單詞解釋:Statement:steitmnt n. 【計(jì)算機(jī)】語(yǔ)句,計(jì)算機(jī)程序指令 miss:mis v. 漏掉遺失 2Statement missing ; 解析:語(yǔ)句缺少分號(hào);編譯程序發(fā)現(xiàn)一表達(dá)式語(yǔ)句后面沒(méi)有分號(hào)。注意是表達(dá)式語(yǔ)句。另外一般缺少分號(hào)的位置在提示位置的前一語(yǔ)句,因?yàn)镃語(yǔ)言允許一條語(yǔ)句寫(xiě)在多行,所以編譯器檢查到當(dāng)前行時(shí)并無(wú)法確定該條語(yǔ)句的“;”是否缺失,因?yàn)榭赡堋?;”被?xiě)在了下一行,所以它檢查到下一行時(shí)發(fā)現(xiàn)沒(méi)有以“;”結(jié)尾才會(huì)報(bào)錯(cuò)。錯(cuò)誤范例:void main() int a; a

3、=3 printf(“%d”,a); 報(bào)錯(cuò)位置3Declaration syntax errorDeclaration:deklrein n. 聲明 syntax:sintks n. 句法;句法規(guī)則4Declaration syntax error 解析:聲明出現(xiàn)語(yǔ)法錯(cuò)誤;在源文件中,某個(gè)聲明丟失了某些符號(hào)或有多余的符號(hào)。注意是聲明部分,而一般情況下也是在聲明部分末尾未加分號(hào)“ ;”。錯(cuò)誤范例:void main() int a a=3; printf(“%d”,a); 報(bào)錯(cuò)位置5Undefined symbol xxxUndefined:ndifaind adj. 不明確的,未下定義的sym

4、bol:simbl n. 符號(hào), 記號(hào), 代號(hào)6Undefined symbol xxx解析:符號(hào)xxx未定義;標(biāo)識(shí)符無(wú)定義, 變量都是要先定義后使用的,若未定義就使用就會(huì)出現(xiàn)該錯(cuò)誤,也可能是有定義,但引用處有拼寫(xiě)錯(cuò)誤(即與定義的名字不相符)引起。 錯(cuò)誤范例1:void main() a=3; printf(“%d”,a); 錯(cuò)誤范例2:void main() int abc; ab=3; printf(“%d”,abc); 報(bào)錯(cuò)位置報(bào)錯(cuò)位置7Misplaced elseMisplaced: mispleisvt.把放錯(cuò)位置8Misplaced else解析:else位置錯(cuò); 編譯程序發(fā)現(xiàn)el

5、se 語(yǔ)句缺少與之相匹配的if語(yǔ)句時(shí)此錯(cuò)誤產(chǎn)生,最常導(dǎo)致該錯(cuò)誤的原因是if子句后跟多個(gè)操作語(yǔ)句,但未用花括號(hào)括起來(lái),另外還可能是由于else多余,還有可能由于多余的分號(hào)或漏寫(xiě)了大括號(hào)及前面的if語(yǔ)句出現(xiàn)語(yǔ)法錯(cuò)誤引起的。錯(cuò)誤范例:void main() float x; double y; scanf(%f,&x); if(xb) t=a; a=b; b=t; printf(%.1f,%.1fn,a,b); getch();報(bào)錯(cuò)位置11Redeclaration of “xxx”Redeclaration:rideklrein n. 重復(fù)聲明12Redeclaration of“xxx”解析:“

6、xxx”重定義;此標(biāo)識(shí)已經(jīng)定義過(guò)。 即某個(gè)標(biāo)識(shí)符被你重新定義了多次。在同一個(gè)函數(shù)里標(biāo)識(shí)符只能被定義一次。一個(gè)標(biāo)識(shí)符要是既被用來(lái)做為整型變量,也被用來(lái)做為實(shí)型變量,或數(shù)組名,你想計(jì)算機(jī)遇到這樣一個(gè)標(biāo)識(shí)符不是會(huì)暈倒。錯(cuò)誤范例:main( ) float a; int a10; getch();報(bào)錯(cuò)位置13Constant expression requiredConstant:knstntn.常數(shù),常量Expression:ikspren n.(數(shù)學(xué))表達(dá)式required:rikwaid vt.需要14Constant expression required 解析:要求常量表達(dá)式;數(shù)組定義時(shí)指定

7、的數(shù)組大小必須是常量。錯(cuò)誤范例:main( ) int n=10; int an; getch();報(bào)錯(cuò)位置15For statement missing ; 解析:for語(yǔ)句漏掉“;”。 常由于寫(xiě)for語(yǔ)句是漏掉“;”,或?qū)⒎痔?hào)“;”寫(xiě)成了逗號(hào)“,”。錯(cuò)誤范例:main() int sum= 0,i; for(i=1 , i=5 ; i+) sum=sum + i; printf(“%dn”,sum);報(bào)錯(cuò)位置16Too few parameter in call to xxxParameter: prmitn.物數(shù)參量, 參數(shù)call:k:lv. 調(diào)用17Too few parameter

8、 in call to xxx解析:調(diào)用函數(shù)xxx時(shí)參數(shù)太少;調(diào)用指定的函數(shù)(該函數(shù)用一原形聲明)時(shí),給出的參數(shù)應(yīng)與其要求的參數(shù)數(shù)量相匹配,不匹配時(shí)就會(huì)報(bào)錯(cuò)。 錯(cuò)誤范例:#include void main() double x;int n; double fun(double x,int n); scanf(%lf%d,&x,&n); printf(fun=%lfn,fun(x,n); getch();double fun(double x,int n) /*/ double y; if(n=0) y=1; else if(n=1) y=x; else y=(2*n-1)*x-fun(x)-

9、(n-1)*fun(x)/n; return y; /*/報(bào)錯(cuò)位置18Case statement missing :解析:Case語(yǔ)句漏掉 “:” 錯(cuò)誤范例:main( ) int x,y; scanf(%d,&x); switch(x) case 1 y=1+x; break; case 2: y=2*x; break; case 3: y=x*x; break; default : y=x; printf(x=%d,y=%dn,x,y); 報(bào)錯(cuò)位置19Lvalue repuiredLvalue:左值20Lvalue repuired解析:賦值請(qǐng)求;賦值運(yùn)算符的左邊必須是一個(gè)地址表達(dá)式,包

10、括數(shù)值變量、指針變量、結(jié)構(gòu)引用域、間接指針和數(shù)組元素。 錯(cuò)誤范例:void main int a; 3=a;報(bào)錯(cuò)位置21Divided error 或 division by zero 解析:出現(xiàn)了被除數(shù)為0的情況.例:void main() int x=0; printf(“%d”,5/x); 出現(xiàn)被除數(shù)為0的情況22Code has no effectCode:kudn.【計(jì)算機(jī)】編碼;編碼程序;指令effect:ifektn. 結(jié)果, 效果, 影響23Code has no effect 解析:代碼無(wú)效;當(dāng)編譯程序發(fā)現(xiàn)一個(gè)含有無(wú)效操作符的語(yǔ)句時(shí),發(fā)出此警告??赡苁怯捎谄渌e(cuò)誤引起。例如語(yǔ)句“a+b;”對(duì)每一個(gè)變量都不起作用,無(wú)需操作,且可能引起一個(gè)錯(cuò)誤。警告范例1:#includevoid main() int k; for(k=1,k

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論