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

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

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

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

閱讀全文

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

熱點內容
mk編譯成共享庫 瀏覽:645
c語言編譯led顯示國旗代碼 瀏覽:293
我的世界本地伺服器默認地址 瀏覽:131
我的世設置命令方塊會閃退 瀏覽:968
加密媒體怎麼輸密碼 瀏覽:161
方舟如何刪除伺服器數據 瀏覽:600
用閱讀app怎麼看18 瀏覽:689
gn文件編譯 瀏覽:783
酷閃加密系統 瀏覽:820
區塊鏈數據加密 瀏覽:389
3d命令集 瀏覽:290
單片機的智能產品工廠里有 瀏覽:300
事業單位程序員有必要去嗎 瀏覽:583
人工智慧訓練小鳥python 瀏覽:133
怎樣把兩個pdf合並成一個 瀏覽:681
什麼app帶仿製圖章 瀏覽:420
單片機CJNE什麼意思 瀏覽:569
廊坊伺服器是什麼 瀏覽:763
客戶解壓要打欠條還是收據 瀏覽:774
通過app組件啟動有什麼壞處 瀏覽:777