程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C語言基礎教程(六)Turbo C程序設計初步(10)

C語言基礎教程(六)Turbo C程序設計初步(10)

編輯:C語言基礎知識

二、連接時的常見錯誤
1.將Turbo C庫函數名寫錯。這種情況下在連接時將會認為此函數是用戶自定義函數。此時屏幕顯示:
Undefined symbol '<函數名>' in <程序名>
2.多個文件連接時,沒有在"Project/Project name中指定項目文件(.PRJ文件),此時出現找不到函數的錯誤。

3.子函數在說明和定義時類型不一致。
4.程序調用的子函數沒有定義。
三、運行時的常見錯誤
1.路徑名錯誤。在MS-DOS中,斜槓(\)表示一個目錄名;而在Turbo C中斜槓是個某個字符串的一個轉義字符,這樣,在用Turbo C字符串給出一個路徑名時應考慮"\"的轉義的作用。例如,有這樣一條語句:
file=fopen("c:\new\tbc.dat", "rb");
目的是打開C盤中NEW目錄中的TBC.DAT文件,但做不到。這裡"\"後面緊接的分別是"n"及"t","\n"及"\t"將被分別編譯為換行及tab字符,DOS將認為它是不正確的文件名而拒絕接受,因為文件名中不能和換行或tab字符。正確的寫法應為:
file=fopen("c:\\new\\tbc.dat", "rb");
2.格式化輸入輸出時,規定的類型與變量本身的類型不一致。例如:
float l;
printf("%c", l);
3.scanf()函數中將變量地址寫成變量。例如:
int l;
scanf("%d", l);
4.循環語句中,循環控制變量在每次循環未進行修改,使循環成為無限循環。
5.switch語句中沒有使用break語句。
6.將賦值號"="誤用作關系符"=="。
7.多層條件語句的if和else不配對。
8.用動態內存分配函數malloc()或calloc()分配的內存區使用完之後,未用free()函數釋放,會導致函數前幾次調用正常,而後面調用時發生死機現象,不能返回操作系統。其原因是因為沒用空間可供分配,而占用了操作系統在內存中的某些空間。
9.使用了動態分配內存不成功的指針,造成系統破壞。

10.在對文件操作時,沒有在使用完及時關閉打開的文件。

————————————————》END《——————————————

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved