當前位置:首頁 » 編程語言 » c語言常見錯誤提示
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言常見錯誤提示

發布時間: 2022-02-04 09:23:27

❶ 作為c語言初學者,經常遇見哪些語法錯誤

這里常見會見到一些同學經常犯這種錯誤,scanf(「...」, 參數1, 參數2, ...);其中參數輸入是指針類型,所以示例中需要b需要取地址,為什麼char a[100]不用取地址呢?因為char a[100]可以看做指針,只需要把a的首地址寫入即可。
C語言常見語法錯誤

跟一些同學說了一下,他彷彿又有點明白了。然而他又說怎麼又是有錯誤的,我明明按照你的要求參數寫入時指針類型。那同學還特意地指出程序裡面說:我申請了一個結構體指d,填入的「d->b」參數不是指針嗎?聽到他這樣說,有問題當然要糾正啦!語重心長地對他說,大哥!你認真看一下,d->b應該是int類型,而不是指針類型吧?他聽了好像不怎麼明白,我就舉了一個例子,結構體好像是一個容器,容器裡面存放著類型變數,而通過結構體容器找裡面的內容是比如找的是結構體成員b,那b的類型是int型,具體怎麼找用d->b找到b變數,那d->b是什麼類型呢?當然是d結構體所指向與b的int類型。
C語言常見語法錯誤

這一句沒語法錯誤,卻是最多初學者這樣去寫的,他們就會說,為什麼我輸入一個數字後按回車怎麼沒反應的呢?咋一看程序才發現多了一個」\n」,具體原理是這樣的,當你程序是scanf(「%d」, &i)輸入數字後回車是可以輸入的,但是變成scanf(「%d\n」, &i);時候就需要回車兩次,因為\n需要格式化輸入。
C語言常見語法錯誤

頭文件寫錯也是很多人犯的,比如卻後綴『.h』,系統頭文件需要使用<>括住,而自定義頭文件使用」 」,在linux C裡面<>和」 」還是有區別的。

正確寫法是:

#include <stdio.h>

#include <string.h>

#include 「func.h」
C語言常見語法錯誤

這里混淆了字元常量與字元串常量,字元常量是使用單引號括起來的單字元,字元串常量才是使用雙引號,正確寫法是char c = 『a』;或者char *c = 「a」;
C語言常見語法錯誤

這里也是很多初學者犯的錯誤,忽略『=』和『==』的區別。在C語言中『=』是賦值運算符,『==』是關系運算符,顯然這里做的是i是否等於0的判斷,這里應該改成if(i == 0) i++;
C語言常見語法錯誤

這里的問題也是初學者犯得非常多的錯誤,不加分號或多加分號。很多學生都會問,我看了幾次程序,確定沒什麼問題的啦!還是對著你的示常式序敲的,不可能錯的。認真地幫他看了一下,原來都是少加分號和多加分號了。int i = 0; 需要加分號,而if(i == 0)和for循環後面不需要加分號,因為如果加了分號,if語句就失去判斷的作用而for就會失去循環的作用。因為『;』代表的是結束。
C語言常見語法錯誤

還有一些格式上的錯誤、關鍵詞寫不完整、區分大小寫。正確應該是scanf(「%d%d%d」, a, b, c);
C語言常見語法錯誤

總結一下,學習嵌入式編程特別是在C語言上要學會如何找錯誤,一般有錯誤都是在編譯輸出終端裡面找,會提示那一行出錯或者錯的是什麼編譯器都會大概告訴你,學會找出問題所在再去解決它才是我們真正需要的。

❷ 在C語言中運行程序時最常出現的有那些錯誤

一、基礎知識和數據類型、表達式

1、{},[],(),『』,「」不配對。解決這個問題最好的方法就是每當寫這些符號的時候就先寫成一對,然後再在中間加內容。

2、忘記在語句的末尾加分號,或在預處理命令後多加分號。記住:每一個語句的後邊都要加分號,而預處理命令並不是語句,所以不加分號,他們必須每行一條,不能把多個命令寫在一行。

3、混淆/和\;注釋對應的符號是/* */,而轉義字元是以\開頭,除號是/。

4、printf()和scanf()的參數設置有誤,主要表現在以下幾方面:

l 類型不匹配的問題。(例如:有float a=3.5,但輸出的時候printf(「a=%d」,a);則屏幕上會顯示出a=0.00000或者提示其它運行錯誤)。基本原則是:float對應%f, int對應%d, char對應%c。

l 個數不匹配。無論是哪個函數,都可以有n個參數,第一個永遠是「」括起來的內容,表示輸出格式。剩下的n-1個是輸出的變數或者輸入的變數的地址。需要注意的是,如果後邊有n-1個參數,那麼前邊一定對應n-1個%f一類的格式說明符。

l scanf()中變數前忘了加&。記住:scanf()中變數前要有&(但後邊學到的字元數組名和指針前不用加)

5、定義標識符的時候經常出現使用非法字元的情況,例如:標識符中不能用空格,也就是說不能有這樣的定義:int radium of circle;一般情況下可用下劃線將三個單詞連接在一起。

6、在使用變數前未定義,或未初始化。例如:若下邊的sum未定義,則在編譯時會提示相應的錯誤信息,而若未初始化為0,則求和的結果一定是錯誤的。

void main()

{ int I,a[10], sum=0; /*只要下邊要用,這個定義就必須要有,一般情況下也要有初始值*/

for(I=0;I<10;I++) sum+=a[I];

printf(「%d」,sum);

}

7、計算錯誤。主要注意:++,――和其它運算符一起運算時,除根據優先順序進行計算時,還要考慮先後位置的特殊含義;數據類型不一致時發生的自動轉換也會導致計算的誤差;還要注意求模結果的符號與被除數相同;某些特殊情況下使用懶惰求值法。

8、不能除以0,要做合法性檢查;

9、類型溢出。記住每種數據類型的取值范圍,確保數據在所定義類型範圍之內;

10、數學表達式的格式有誤。常見的有:(1)數學與C語言運算表達式的混淆(例如:=表示賦值,而= =才表示我們數學中的相等關系)。(2)、忽略了運算的優先順序。解決這個問題的最好方法就是寫數學表達式時不要從左到右,而是按優先順序的順序寫,寫完優先順序高的一個表達式後加上()再寫下一級的表達式,例如:計算梯形的面積時,要s=((a+b)*h)/2,不要1/2*a+b*h. (3)忽略了計算和賦值時的自動轉換。例如:float half=1/2;這樣,因為=右邊是整數相除的結果為整數0,不會得到0.5存入half,進而會影響下邊的計算結果。要想不在這兒絆跟頭,當計算不同類型的數據時,一定注意會不會出現引起錯誤的自動轉換,建議最好加上強制轉換。(4)賦值號左邊不是變數,例如:若有#define PI 3.14,程序中又出現PI=3.14159。又例如:f(n)=f(n-1)*n(這是典型的數學語言,在C語言中右邊的乘積不能正確存儲,而左邊又是一個函數調用)。

11、使用庫函數前忘了加#include<?.h>

二、流程式控制制

1、 丟掉語句結束標記「;」,尤其是for語句中表達式後或do-while語句後的分號,或在預處理命令後邊、while()後、for()後加「;」;

2、 If語句或循環語句中邏輯表達式或關系表達式書寫錯誤。一定要注意C語言的條件與數學表達式的區別(例如我們數學中經常寫到的0≤x≤9,在C語言中應該寫成x>=0&&x<=9)。

3、 if-else嵌套時不配對。最好在寫每個條件時要用兩個{}分別將兩個分支先括起來,再添加其中的語句,以保證其配對不易錯。

4、 switch()語句中的格式不正確。()中的表達式結果一定是一些明確的值,不能是區間;表達式的所有可能結果要列在case後邊,case與常量之間有一空格,不要丟掉必要的break;

5、 隨意修改循環控制變數i的值,導致循環次數的改變,尤其是當循環有嵌套時。在循環體中,不要將循環控制變數進行另外的改變。

6、 分不清什麼情況下用雙重循環,什麼情況下用兩個控制變數寫成一重循環。當I不變,j又循環一遍的時候用雙重循環。當I,j同時變化的時候用一重循環,此時,循環控制變數有兩個,但條件只寫一個就可以,因為另一個總是進行相應的變化的。

7、 忽略循環體與循環控制變數的關系。其實,很多情況下,循環控制變數都在循環體中起到非常重要的作用。應該利用上這種關系。

三、數組與指針

1、 字元串的輸入有錯誤:主要表現在使用scanf()或gets()時加了&,或輸入字元串時用循環,(這樣的話,字元個數無論多長,都不會為自動加\0,將來引用的時候也就不能以字元串的形式引用。)

2、 對字元串的處理中,循環條件仍然寫成I<N。由於字元串是不定長的,所以循環條件一般為str[I]!=』\0』 或I<strlen(str)

3、 而輸入所對應的變數是指針時(常見的有:輸入的變數是字元數組名或指向字元串的指針)不能加&。

4、 指針定義後未賦值就引用。如果在定義時不知道賦什麼值,可以用p=NULL賦初值,以避免引起的災難性錯誤。

5、 分不清p和*p。前者是指針,即地址,後者表示指針所間接引用的數據,但如果是二級指針或多級指針,取*以後得到的仍然可能是地址。

四、函數

1、 函數定義的時候,函數頭部加分號,而函數聲明的地方忘了加分號

2、 函數實參格式不對,主要表現在:給出實參時,多給出數組類型,或者,形參是數組int a[];的時候,給出的a[]或a[I].

3、 遞歸時忘了設置邊界條件,這樣易造成死循環調用。

4、使用函數之前未聲明(包括C庫函數的聲明)。建議大家,將所定義的一切函數都在程序開始的預處理命令後加上函數原型的聲明,這樣做不僅可以避免錯誤,而且整個程序的結構看起來更清楚。

五、結構體共用體

1、 結構體類型定義有誤,主要表現在:結構體類型里還有嵌套的時候,忘記了成員名稱。(例如:下邊的例子中,有些同學經常忽略了birthday)

2、 結構體類型名和結構體變數名混淆。例如:

struct STU

{….

Struct data

{int year,month,day;<br/><br/>}birthday

};

struct STU a; struct STU是類型名稱,而且不分配空間,且不能直接引用。只有定義了結構體類型struct STU的變數a以後,才為a分配相應的內存空間,引用時也要是a.???

3、 結構體變數的成員引用不正確,尤其是當結構體類型中有嵌套定義的時候。一定要一級一級的引用。例如:上邊的例子:如果引用其中的年的話,一定是a.birthday.year.不能直接a.year.

4、 對結構體變數進行輸入輸出的時候,整體輸入或整體輸出。除作為函數參數外,不能對結構體變數整體操作,只能一個成員一個成員地輸入、輸出。

5、 不理解共用體的「共占內存」。對共用體中的成員變數,一定要靠一個標記區別它們,並分別按不同類型引用它們。切記:共用體變數不能做函數形參。

六、文件

1、 使用之前沒有打開文件,使用之後沒有關閉文件。

2、 相關函數的調用格式有誤。請一定注意實參的類型、順序、個數上與函數原型(或函數聲明)的一致。

❸ 簡單的C語言錯誤

首先是:#include<stdio.h>或者#include "stdio.h"
另外,可能是你環境沒有配置正確. 設置環境是必須的.
下面給你一些設置的方法.

在開始看本文以前,先說明一下C語言的安裝和使用中最應該注意的地方:許多網友在下載Turbo C 2.0和Turbo C++ 3.0後,在使用過程中會碰到如下問題:

1)出現找不到 stdio.h conio.h等include文件;

2)出現cos.obj無法連接之類的錯誤
這些問題是由於沒有設置好路徑引起的,目前下載的TC2,TC3按安裝分類大概有兩種版本:一是通過install安裝,這類應該已經設置好了路徑;二是直接解壓後建立TC.EXE的快捷方式,在WINDOWS下雙擊即可運行(DOS下直接運行TC.EXE),目前國內大多為這種,因此下載使用前請注意路徑設置:
設置方法為:
OPTION->DIRECTORIES:
INCLUDE: [TC2/3所在目錄]/include
LIB: [TC2/3所在目錄]/lib
output輸出目錄請自己設置一個工作目錄,以免混在一起。最後還提醒一點:FILES中的Change dir(改變當前目錄)中應設置為當前程序所在目錄。

一、 Turbo C 2.0的安裝和啟動

Turbo C 2.0的安裝非常簡單, 只要將1#盤插入A驅動器中, 在DOS的"A>" 下鍵入: A>INSTALL 即可, 此時屏幕上顯示三種選擇:
1. 在硬碟上創造一個新目錄來安裝整個Turbo C 2.0系統。

2. 對Turbo C 1.5更新版本。這樣的安裝將保留原來對選擇項、顏色和編輯功能鍵的設置。

3. 為只有兩個軟盤而無硬碟的系統安裝Turbo C 2.0。

這里假定按第一種選擇進行安裝, 只要在安裝過程中按對盤號的提示, 順序插入各個軟盤, 就可以順利地進行安裝, 安裝完畢將在C盤根目錄下建立一個TC 子目錄, TC下還建立了兩個了目錄LIB和INCLUDE, LIB子目錄中存放庫文件, INCLUDE子目錄中存放所有頭文件。運行Turbo C2.0時, 只要在TC 子目錄下鍵入TC並回車即可進入Turbo C 2. 0 集成開發環境。

二、 Turbo C 2.0集成開發環境的使用

進入Turbo C 2.0集成開發環境中後, 屏幕上顯示:
——————————————————————————————
File Edit Run Compile Project Options Debug Break/watch
┌————————————Ed i t——————————————┐
│ Line 1 Col 1 Insert Indent Tab File Unindent c:NONAME.C d│
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│—————————Message——————————————— aa│
│ │
│ │
└————————————————————————————--┘
F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu
———————————————————————————————
其中頂上一行為Turbo C 2.0 主菜單, 中間窗口為編輯區, 接下來是信息窗口, 最底下一行為參考行。這四個窗口構成了Turbo C 2.0的主屏幕, 以後的編程、編譯、調試以及運行都將在這個主屏幕中進行。下面詳細介紹主菜單的內容。

1.主菜單

主菜單在Turbo C 2.0主屏幕頂上一行, 顯示下列內容:File Edit Run Compile Project Options Debug Break/watch

除Edit外, 其它各項均有子菜單, 只要用Alt加上某項中第一個字母(即大寫字母), 就可進入該項的子菜單中。

File (文件)菜單 ----按Alt+F可進入File菜單, 該菜單包括以下內容:

.Load (載入)
裝入一個文件, 可用類似DOS的通配符(如*.C)來進行列表選擇。也可裝入其它擴展名的文件, 只要給出文件名(或只給路徑)即可。該項的熱鍵為F3, 即只要在主菜單中按F3即可進入該項, 而不需要先進入File菜單再選此項。

.Pick (選擇)
將最近裝入編輯窗口的8個文件列成一個表讓用戶選擇, 選擇後將該程序裝入編輯區, 並將游標置在上次修改過的地方。其熱健為Alt-F3。

.New (新文件)
說明文件是新的, 預設文件名為NONAME.C, 存檔時可改名。

.Save (存檔)
將編輯區中的文件存檔, 若文件名是NONAME.C時, 將詢問是否更改文件名, 其熱鍵為F2。

.Write to (存檔)
可由用戶給出文件名將編輯區中的文件存檔, 若該文件已存在, 則詢問要不要覆蓋。

.Directory (目錄)
顯示目錄及目錄中的文件, 並可由用戶選擇。

.Change dir (改變目錄)
顯示當前目錄, 用戶可以改變顯示的目錄。

.Os shell (暫時退出)
暫時退出Turbo C 2.0到DOS提示符下, 此時可以運行DOS 命令, 若想回到Turbo C 2.0中, 只要在DOS狀態下鍵入EXIT即可。

.Quit (退出)
退出Turbo C 2.0, 返回到DOS操作系統中, 其熱鍵為Alt+X。

說明: 以上各項可用游標鍵移動色棒進行選擇, 回車則執行。也可用每一項的第一個大寫字母直接選擇。若要退到主菜單或從它的下一級菜單列表框退回均可用Esc鍵,Turbo C 2.0所有菜單均採用這種方法進行操作, 以下不再說明。

Edit (編輯)菜單---按Alt+E可進入編輯菜單, 若再回車, 則游標出現在編輯窗口, 此時用戶可以進行文本編輯。編輯方法基本與wordstar相同,

可用F1鍵獲得有關編輯方法的幫助信息。與編輯有關的功能鍵如下:
F1 獲得Turbo C 2.0編輯命令的幫助信息
F5 擴大編輯窗口到整個屏幕
F6 在編輯窗口與信息窗口之間進行切換
F10 從編輯窗口轉到主菜單

編輯命令簡介:
PageUp 向前翻頁
PageDn 向後翻頁
Home 將游標移到所在行的開始
End 將游標移到所在行的結尾
Ctrl+Y 刪除游標所在的一行
Ctrl+T 刪除游標所在處的一個詞
Ctrl+KB 設置塊開始
Ctrl+KK 設置塊結尾
Ctrl+KV 塊移動
Ctrl+KC 塊拷貝
Ctrl+KY 塊刪除
Ctrl+KR 讀文件
Ctrl+KW 存文件
Ctrl+KP 塊文件列印
Ctrl+F1 如果游標所在處為Turbo C 2.0庫函數, 則獲得有關該函數的幫助信息
Ctrl+Q[ 查找Turbo C 2.0雙界符的後匹配符
Ctrl+Q] 查找Turbo C 2.0雙界符的前匹配符
說明:
a. Turbo C 2.0的雙界符包括以下幾種符號:
花括符 { }
尖括符 < >
圓括符 ( )
方括符 [ ]
注釋符 /* */
雙引號 "
單引號 ''
Turbo C 2.0在編輯文件時還有一種功能, 就是能夠自動縮進, 即游標定位和上一個非空字元對齊。在編輯窗口中, Ctrl+OL為自動縮進開關的控制鍵。

Run (運行)菜單---按Alt+R可進入Run菜單, 該菜單有以下各項:

.Run (運行程序)
運行由Project/Project name項指定的文件名或當前編輯區的文件。如果對上次編譯後的源代碼未做過修改, 則直接運行到下一個斷點(沒有斷點則運行到結束)。否則先進行編譯、連接後才運行, 其熱鍵為Ctrl+F9。

.Program reset (程序重啟)
中止當前的調試, 釋放分給程序的空間, 其熱鍵為Ctrl+F2。

.Go to cursor (運行到游標處)
調試程序時使用, 選擇該項可使程序運行到游標所在行。游標所在行必須為一條可執行語句, 否則提示錯誤。其熱鍵為F4。

.Trace into (跟蹤進入)
在執行一條調用其它用戶定義的子函數時, 若用Trace into項, 則執行長條將跟蹤到該子函數內部去執行, 其熱鍵為F7。

.Step over (單步執行)
執行當前函數的下一條語句, 即使用戶函數調用, 執行長條也不會跟蹤進函數內部, 其熱鍵為F8。

.User screen (用戶屏幕)
顯示程序運行時在屏幕上顯示的結果。其熱鍵為Alt+F5。

Compile (編譯)菜單---按Alt+C可進入Compile菜單, 該菜單有以下幾個內容:

.Compile to OBJ (編譯生成目標碼)
將一個C源文件編譯生成.OBJ目標文件, 同時顯示生成的文件名。其熱鍵為Alt+F9。

.Make EXE file (生成執行文件)
此命令生成一個.EXE的文件, 並顯示生成的.EXE文件名。其中.EXE文件名是下面幾項之一。
a. 由Project/Project name說明的項目文件名。
b. 若沒有項目文件名, 則由Primary C file說明的源文件。
c. 若以上兩項都沒有文件名, 則為當前窗口的文件名。

.Link EXE file (連接生成執行文件)
把當前.OBJ文件及庫文件連接在一起生成.EXE文件。

.Build all (建立所有文件)
重新編譯項目里的所有文件, 並進行裝配生成.EXE文件。該命令不作過時檢查(上面的幾條命令要作過時檢查, 即如果目前項目里源文件的日期和時間與目標文件相同或更早, 則拒絕對源文件進行編譯)。

.Primary C file (主C文件)
當在該項中指定了主文件後, 在以後的編譯中, 如沒有項目文件名則編譯此項中規定的主C文件, 如果編譯中有錯誤, 則將此文件調入編輯窗口, 不管目前窗口中是不是主C文件。

.Get info
獲得有關當前路徑、源文件名、源文件位元組大小、編譯中的錯誤數目、可用空間等信息。

Project (項目)菜單---按Alt+P可進入Project菜單, 該菜單包括以下內容:

.Project name (項目名)
項目名具有.PRJ的擴展名, 其中包括將要編譯、連接的文件名。例如有一個程序由file1.c, file2.c, file3.c組成, 要將這3個文件編譯裝配成一個file.exe的執行文件, 可以先建立一個file.prj的項目文件, 其內容如下:
file1.c file2.c file3.c
此時將file.prj放入Project name項中, 以後進行編譯時將自動對項目文件中規定的三個源文件分別進行編譯。然後連接成file.exe文件。如果其中有些文件已經編譯成.OBJ文件, 而又沒有修改過, 可直接寫上.OBJ擴 展名。此時將不再編譯而只進行連接。例如: file1.obj file2.c file3.c 將不對file1.c進行編譯, 而直接連接。 說明: 當項目文件中的每個文件無擴展名時, 均按源文件對待, 另外, 其中的文件也可以是庫文件, 但必須寫上擴展名.LIB。

.Break make on (中止編譯)
由用戶選擇是否在有Warining(警告)、Errors(錯誤)、Fatal Errors( 致命錯誤)時或Link(連接)之前退出Make編譯。

.Auto dependencies (自動依賴)
當開關置為on, 編譯時將檢查源文件與對應的.OBJ文件日期和時間, 否則不進行檢查。

.Clear project (清除項目文件)
清除Project/Project name中的項目文件名。

.Remove messages (刪除信息)
把錯誤信息從信息窗口中清除掉。

Options (選擇菜單) ---按Alt+O可進入Options菜單, 該菜單對初學者來說要謹慎使用。

.Compiler (編譯器)
本項選擇又有許多子菜單, 可以讓用戶選擇硬體配置、存儲模型、調試技術、代碼優化、對話信息控制和宏定義。這些子菜單如下: Model 共有Tiny, small, medium, compact, large, huge 六種不同模式可由同戶選擇。
Define 打開一個宏定義框, 同戶可輸入宏定義。多重定義可同分號, 賦值可用等號。
Code generation 它又有許多任選項, 這些任選項告訴編譯器產生什麼樣的目標代碼。
Calling convention 可選擇C或Pascal方式傳遞參數。
Instruction set 可選擇8088/8086或80186/80286指令系列。
Floating point 可選擇模擬浮點、數學協處理器浮點或無浮點運算。
Default char type 規定char的類型。
Alignonent 規定地址對准原則。
Merge plicate strings 作優化用, 將重復的字元串合並在一起。
Standard stack frame 產生一個標準的棧結構。
Test stack overflow 產生一段程序運行時檢測堆棧溢出的代碼。
Line number 在.OBJ文件中放進行號以供調試時用。
OBJ debug information 在.OBJ文件中產生調試信息。
Optimization
Optimize for 選擇是對程序小型化還是對程序速度進行優化處理。
Use register variable 用來選擇是否允許使用寄存器變數。
Register optimization 盡可能使用寄存器變數以減少過多的取數操作。
Jump optimization 通過去除多餘的跳轉和調整循環與開關語句的辦法, 壓縮代碼。
Source
Indentifier length 說明標識符有效字元的個數, 默認為32個。
Nested comments 是否允許嵌套注釋。
ANSI keywords only 是只允許ANSI關鍵字還是也允許Turbo C 2.0關鍵字
Error
Error stop after 多少個錯誤時停止編譯, 默認為25個。
Warning stop after 多少個警告錯誤時停止編譯, 默認為100個。
Display warning
Portability warning 移植性警告錯誤。
ANSI Violations 侵犯了ANSI關鍵字的警告錯誤。
Common error 常見的警告錯誤。
Less common error 少見的警告錯誤。
Names 用於改變段(segment)、 組( group) 和類(class)的名字, 默認值為CODE,DATA,BSS。

.Linker (連接器)
本菜單設置有關連接的選擇項, 它有以下內容:
Map file menu 選擇是否產生.MAP文件。
Initialize segments 是否在連接時初始化沒有初始化的段。
Devault libraries 是否在連接其它編譯程序產生的目標文件時去尋找其預設庫。
Graphics library 是否連接graphics庫中的函數。
Warn plicate symbols 當有重復符號時產生警告信息。
Stack warinig 是否讓連接程序產生No stack的警告信息。
Case-sensitive link 是否區分大、小寫字。

.Environment (環境)
本菜單規定是否對某些文件自動存檔及製表鍵和屏幕大小的設置
Message tracking

Current file 跟蹤在編輯窗口中的文件錯誤。

All files 跟蹤所有文件錯誤。

Off 不跟蹤。

Keep message 編譯前是否清除Message窗口中的信息。

Config auto save 選on時, 在Run, Shell或退出集成開發環境之前,如果Turbo C 2.0的配置被改過, 則所做 的改動將存入配置文件中。選off時不存。

Edit auto save 是否在Run或Shell之前, 自動存儲編輯的源文件。

Backup file 是否在源文件存檔時產生後備文件(.BAK文件)。

Tab size 設置製表鍵大小, 默認為8。

Zoomed windows 將現行活動窗口放大到整個屏幕, 其熱鍵為F5。

Screen size 設置屏幕文本大小。

.Directories (路徑)
規定編譯、連接所需文件的路徑, 有下列各項:
Include directories 包含文件的路徑, 多個子目錄用";"分開。
Library directories 庫文件路徑, 多個子目錄用";"分開。
Output directoried 輸出文件(.OBJ, .EXE, .MAP文件)的目錄。
Turbo C directoried Turbo C 所在的目錄。
Pick file name 定義載入的pick文件名, 如不定義則從current pick file中取。

.Arguments (命令行參數)
允許用戶使用命令行參數。

.Save options (存儲配置)
保存所有選擇的編譯、連接、調試和項目到配置文件中, 預設的配置文件為TCCONFIG.TC。

.Retrive options 裝入一個配置文件到TC中, TC將使用該文件的選擇項。

Debug (調試)菜單

---按Alt+D可選擇Debug菜單, 該菜單主要用於查錯, 它包括以下內容:

.Evaluate

.Expression 要計算結果的表達式。

.Result 顯示表達式的計算結果。

.New value 賦給新值。

.Call stack 該項不可接觸。而在Turbo C debuger 時用於檢查堆棧情況。

.Find function 在運行Turbo C debugger時用於顯示規定的函數。

.Refresh display 如果編輯窗口偶然被用戶窗口重寫了可用此恢復編輯窗口的內容。

Break/watch (斷點及監視表達式)

---按Alt+B可進入Break/watch菜單, 該菜單有以下內容:

. Add watch 向監視窗口插入一監視表達式。

.Delete watch 從監視窗口中刪除當前的監視表達式。

.Edit watch 在監視窗口中編輯一個監視表達式。

.Remove all watches 從監視窗口中刪除所有的監視表達式。

.Toggle breakpoint 對游標所在的行設置或清除斷點。

. Clear all breakpoints 清除所有斷點。

. View next breakpoint 將游標移動到下一個斷點處。

三、Turbo C 2.0的配置文件

所謂配置文件是包含Turbo C 2.0有關信息的文件, 其中存有編譯、連接的選擇和路徑等信息。可以用下述方法建立Turbo C 2.0的配置:

1. 建立用戶自命名的配置文件
可以從Options菜單中選擇Options/Save options命令, 將當前集成開發環境的所有配置存入一個由用戶命名的配置文件中。下次啟動TC時只要在DOS下鍵入: tc/c <用戶命名的配置文件就會按這個配置文件中的內容作為Turbo C 2.0的選擇。

2. 若設置Options/Environment/Config auto save 為on, 則退出集成開發環境時, 當前的設置會自動存放到Turbo C 2.0配置文件TCCONFIG.TC中。Turbo C 在啟動時會自動尋找這個配置文件。

3. 用TCINST設置Turbo C的有關配置, 並將結果存入TC.EXE中。Turbo C 在啟動時, 若沒有找到配置文件, 則取TC.EXE中的預設值。

❹ C語言錯誤提示identifier 'b'是什麼意思

identifier 'b'就是標識符'b'出現了錯誤的意思。

常見的標識符錯誤提示有:undefined identifier 即標識符未定義。

C語言經典錯誤:

void main()的用法並不是任何標准制定的。 C語言標准語法是int main,任何實現都必須支持int main(void) { /* ... */ }和int main(int argc, char* argv[]) { /* ... */ }。

類似於a+=a++;或者(i++)+(i++)+(i++)屬於未定義行為,並不是說c語言中還未定義這種行為,它早有定論,它的結果取決於編譯器實現。

(4)c語言常見錯誤提示擴展閱讀:

C語言中對標識符的規定

1、標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。

2、不能把C語言關鍵字作為用戶標識符,例如if ,for, while等.

3、標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。

4、標識符對大小寫敏感,即嚴格區分大小寫。一般對變數名用小寫,符號常量命名用大寫。

5、標識符命名應做到「見名知意」,例如,長度(length),求和、總計(sum),圓周率(pi)

❺ 單片機C語言編譯錯誤提示解釋,例如ERROR 236等所有代碼提示的解釋

……這還需要解釋么?學過計算機英語的話就應該看的懂。

如果想了解關於錯誤/警告的詳細信息,可以在幫助中搜索該錯誤/警告的代碼或提示文本。

❻ c語言中if語句常見的錯誤有哪些

c語言中if語句常見的錯誤有:

1、if語句的錯誤使用

if(3>2);

printf("hello");

else

printf("hi");

2、if語句的錯誤使用

if(3>2)

printf("one");

elseif(3>1)

printf("tow");

else(3>0)

printf("three");

(6)c語言常見錯誤提示擴展閱讀

正確使用if語句

if語句是指如果滿足某種條件,就進行相應的處理。例如,小明媽媽跟小明說「如果你考試得了100分,星期天就帶你去游樂場玩」。這句話可以通過下面的一段偽代碼來描述。

如果小明考試得了100分

媽媽星期天帶小明去游樂場

在上面的偽代碼中,「如果」相當於C語言中的關鍵字if,「小明考試得了100分」是判斷條件,需要用()括起來,「媽媽星期天帶小明去游樂場」是執行語句,需要放在{}中。修改後的偽代碼如下:

if(小明考試得了100分)

{

媽媽星期天帶小明去游樂場

}

上面的例子就描述了if語句的用法,在C語言中,if語句的具體語法格式如下:

if(條件語句)

{

代碼塊

}

❼ C語言編程都有哪些常見錯誤呢

1,輸入錯誤,這是很多新手長患的一個錯誤。
2,語法錯誤,由於很多新手對語言的語法不是很熟悉,所以難免會出現很多錯誤。這就要就要多練,只有這樣才能熟悉語法,也就可以避免錯誤了。
3,對要解決的問題分析不夠清晰,在寫語句的時候會發現得不到想要的結果,這就要求在寫程序時注重對問題的分析
以上這三點就是寫程序時最長患的錯誤了,希望你可以努力

❽ C語言數組在使用中常見的幾種錯誤

在計算機程序中,通常可能發生以下三種類型的錯誤:
(1)語法錯誤:這是指程序中含有不符合語法規定的語句,例如關鍵字或符號書寫錯誤(將printf寫成print、將數組元素引用寫成a(2)等)、使用了未定義的變數、括弧不配對等。含有語法錯誤的程序是不能通過編譯的,因此程序將不能運行。
(2)邏輯錯誤:這是指程序中沒有語法錯誤,可以通過編譯、連接生成可執行程序,但程序運行的結果與預期不相符的錯誤。例如整型變數的取值超出了有效的取值范圍、在scanf函數遺漏了取地址運算符&、數組元素引用中下標越界、在應當使用復合語句時沒有使用復合語句等。由於含有邏輯錯誤的程序仍然可以運行,因此這是一種較難發現、較難調試的程序錯誤,在程序設計、調試中應予特別注意。
(3)系統錯誤:這是指程序沒有語法錯誤和邏輯錯誤,但程序的正常運行依賴於某些外部條件的存在,如果這些外部條件缺失,則程序將不能運行。例如折半查找法是在已經排序的數組上進行的,但實際的數據並沒有進行排序、程序中需要打開一個已經存在的文件,但這個文件由於其他原因丟失等。

❾ 淺析C語言指針使用中的幾個常見錯誤

一、指針未指定變數就使用指針;二、指針可能越界; 三、分不清指針和變數的關系

❿ C語言程序常見的錯誤有哪些

這個我以前也問過,一般新手的錯誤,往往是因為輸入法造成的數據格式錯誤,在編寫程序時一定要把自己的輸入法改成美式標准鍵盤,其次,往往是逗號和分號的錯誤,這個出現在定義變數以及調用函數時出現的錯誤,接下來就是指針的指向錯誤,要明白操作系統把計算機內存分為全局、堆、棧等數據存儲區域(這點直接導致訪問並修改數據時出現錯誤),然後就是定義指針變數時是否給指針變數賦值,也就是所賦的地址是否已經申請好(能否訪問),這個在Linux
c編程中最常表現為段錯誤,學c主要是學會對內存的操作,希望對你有幫助