語言編譯警告
A. 單片機c語言編譯後出現警告,*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL怎麼解決
這個報的警告是說delay函數沒有定義就直接調用了。我看了你的具體代碼,代碼第五行聲明時寫的函數是 void delay();在main函數裡面調用的也是delay();但是在第17行定義函數是卻是定義的dalay,所以只要將dalay改成delay就對了
B. C語言編譯警告問題
你那個數組賦值有問題。
C. C語言編譯警告,求解
你是在unix下吧,unix下建立的文件末尾都有一個空行,所以編譯器也要求正常的文件有一個空行作為末尾。加工空行就行了
D. C語言編譯警告
void
main(void);函數被定義多次,這么明顯的錯誤肯定是其他.c文件定義了main函數了
另外你的這種寫法完全不符合c99啊
void
main(void)
應該寫成
int
main(void);或者
int
main(char
*argc,char*
argv[])
E. 51單片機匯編語言編譯警告
你的項目中,多了一個:STARTUP.A51。
把STARTUP.A51從項目中刪除,就沒有事了。
用KEIL建立項目的時候,有個提示,選擇了「是」,就會出現STARTUP.A51這個文件。可見插圖。
它是配合C語言的程序,來使用的。它的內容,對存儲空間,有一些規定。
我們如果用匯編語言編程,再想定義內存的變數分布,就會出現沖突。
錯誤提示,已經如樓主所示。
F. 請c語言高手看看下面這個程序哪裡出錯了,編譯後怎麼有一個警告
1)警告的原因是編譯時,編譯器認為p變數沒有賦初值;
2)其實程序中已經在if
else
中對p的初始值進行了處理,但編譯器比較「笨」沒有看出來
3)你可以完全不理會這個警告;
4)如果確實你不想讓編譯器出這樣的警告,在scanf語句前,加上
p
=
0
,
顯式地為p賦初值
G. C語言編譯過程中為什麼顯示警告
此程序應該沒問題,如果有的話可能是你安裝的編譯系統有問題,建議你在別的編譯系統上試試(TC/WIN-TC)。
至於為什麼會出現警告,是由於你的程序中存在不和要求的輸入,但是警告一般不影響程序的應行,不過程序的結果一般來說是錯誤的,而且這時候程序能通過編譯,建議編譯時用快睫鍵(ALT+F9(TC編譯器))。
H. C語言編譯警告,請問為什麼會報警,怎麼解決謝謝
有一個嚴重問題:n變數,所以int number[n];的聲明是不可行的,[]中規定必須是常量,或常量表達式。其餘就沒有再往下看了……
I. C語言 警告 什麼意思
沒有聲明變數,用戶定義了int;但應該這樣定義int a;
這個警告的級別要比錯誤小, 也就是說一個程序只有警告是可以運行的, 但是不一定運行的結果是正確的。
在所有編程語言中, 都有"警告"和"錯誤", 錯誤是語法上的錯誤, 這樣導致代碼無法被正確編譯,當然也有鏈接錯誤, 但鏈接錯誤一般是在兩個開發環境移植時出現的問題。
(9)語言編譯警告擴展閱讀:
int型變數就是一般整型,相當於unsigned int.可以使無符號整數,在C++中,這個表達式的值為32
括弧內為一個逗號表達式,然後把這個逗號表達式的值賦值給x。
逗號表達式的形式一般為:
表達式1,表達式2,表達式3....逗號表達式的求解過程是:
先求解表達式1,再求解表達式2......逗號表達式的值為最後一個表達式的值。
J. c語言,編譯出現警告了
1)警告的原因是編譯時,編譯器認為p變數沒有賦初值;
2)其實程序中已經在if else 中對p的初始值進行了處理,但編譯器比較「笨」沒有看出來
3)你可以完全不理會這個警告;
4)如果確實你不想讓編譯器出這樣的警告,在scanf語句前,加上 p = 0 , 顯式地為p賦初值