導航:首頁 > 源碼編譯 > 函數沒定義但是編譯卻不報錯

函數沒定義但是編譯卻不報錯

發布時間:2023-08-20 14:37:30

㈠ 急~~~~C語言問題:為什麼把函數寫在主函數後面,但沒在主函數內聲明,卻沒有報錯

這里涉及到一個路徑的問題。我們編寫好的程序main函數是入口,當編譯器變異的時候會根據裡面調用到的其他函數去尋找載入進來一起編譯(非main函數如果不被main函數調用其實根本上就沒用,這里指的是不被main函數調用和main函數調用過的函數調用),假如是include進來的編譯器就知道去庫函數裡面載入那一個函數,而沒有include進來的就會在本目錄下檢索,假如檢索不到就編譯出錯。庫函數所在就相當於老地方,而main函數所在的地方就相當於本地,這兩個都是被編譯器熟知的。
其實除了c語言,java也會這樣,不在同一個包內的類需要導入,在同一個包裡面的類不需要導入(import),在同一個java文件裡面的類(內部類或者類外面定義的類都一樣)也不需要導入。因為編譯器知道在這兩個地方找,去類庫找就需要指定哪一個。

linux編譯c語言,一個被調用的函數只聲明了,沒有定義,不報錯,是怎麼回事

你聲明了,只要不調用那個函數就不會報錯,如果你程序中調用了那個只聲明未定義的函數的話,你編譯的時候就會報錯

㈢ C語言程序,編譯沒有錯誤,執行時出錯。問題在哪

#include<stdio.h>
intmax(inta,intb);
intmain(void)
{
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("maxis%d ",c);
return0;
}
intmax(inta,intb)
{
returna>b?a:b;
}

max函數未定義

㈣ C++中,以下代碼有錯誤為何編譯器不會報錯呀

大哥,操作符不是定義的悔虛,而是要重載。
看臘前銀了這句應該理解為何了吧?
也就是說,你的類如果不重載操作符,那麼將調用系統自定義的操作符。
所以編譯器不會報錯,也沒有錯誤。
除非你要重載操輪宴作符,來完成你特定的操作。

閱讀全文

與函數沒定義但是編譯卻不報錯相關的資料

熱點內容
源碼修改對應的位置 瀏覽:115
賽車游戲源碼價值幾千 瀏覽:397
單片機rom只讀嗎 瀏覽:146
android伺服器時間同步 瀏覽:26
燕碎也要溯源碼嗎 瀏覽:784
linuxsvn安裝包 瀏覽:232
大齡程序員轉行業 瀏覽:936
加密模式哪一種不容易破解 瀏覽:713
變壓器廠程序員 瀏覽:222
pdf文字覆蓋 瀏覽:187
蘇聯227命令 瀏覽:364
javacompress 瀏覽:234
程序員入股 瀏覽:672
java智能演算法有哪些 瀏覽:835
加密鎖可以多人登錄么 瀏覽:537
氣球無限解壓 瀏覽:209
伺服器安裝怎麼操作 瀏覽:717
zip小米手機怎麼解壓 瀏覽:188
雲資料刪除後伺服器還有記錄嗎 瀏覽:953
kafkaserver源碼解析 瀏覽:623