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

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

發布時間: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++中,以下代碼有錯誤為何編譯器不會報錯呀

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

閱讀全文

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

熱點內容
5800計算機程序和編程 瀏覽:29
網上報修php源碼 瀏覽:897
魔獸宏命令老是語言提示 瀏覽:971
辦公文件夾大全 瀏覽:471
單片機閃爍燈虛擬線路圖 瀏覽:72
App顯示別的國家怎麼更改 瀏覽:154
幻塔官方伺服器叫什麼 瀏覽:196
android自定義進度框 瀏覽:506
linux自動聯網 瀏覽:492
keil編寫的程序怎麼不能編譯呢 瀏覽:562
ipadair2能編程嗎 瀏覽:358
esxi查看內存命令行 瀏覽:79
u盤settings文件夾 瀏覽:649
新東方雅思寫作pdf 瀏覽:734
python中多個隨機數的生成 瀏覽:119
伺服器偵聽埠是什麼意思 瀏覽:320
手機通知音效文件夾 瀏覽:135
pdf產品目錄 瀏覽:203
三菱fd編譯通過不了 瀏覽:158
15g游戲下載完怎麼解壓 瀏覽:709