C語言中,printf中呼叫自定義函式必須要先定義嗎

2025-07-05 14:15:09 字數 4893 閱讀 9779

1樓:岔路程式緣

不一定。有兩種方法:

第一種:無論在printf中,還是main中,或者是在其他任何函式中,要呼叫自定義函式,都要進行先定義。後面就可以自由呼叫了。

第二種:c語言把自定義函式的語句放在呼叫的後面,但呼叫虧仿拆之前,一定要大曆寫上自定銷棗義函式的宣告語句。只有這樣,才不會出現編譯錯誤。

2樓:帳號已登出

是的。事實上,不止是在printf中,c語言規定,任何被呼叫函式在使用前都必須被定義。

3樓:聽不清啊

這可能不是你所說的「定義先後」餘銀悔的豎正問題搏喚。而是你編譯時,有上一次執行的視窗沒有關閉(exe程式仍處於「執行」狀態),請把執行過的視窗全部關閉後再次編譯程式,然後執行。

4樓:網友

c語言是強型別語言

至少也要先做函式原型,告訴編譯器函式的引數返橋祥燃回值都是什宴蘆麼型別的,定義可以放在調敏虛用後

5樓:網友

你這都是錯的好吧,因為你把get_first函式巢狀定義在了主函式main中。

c語言中自定義函式一定要在呼叫之前進行定義嗎

6樓:葉彭聲谷蕊

要先定義再使用。

首先,要有函式名稱,和資料型別。

然後,要有形參和實參,注意形參和實參是一一對應的,不是根據你所定義的變數名相同與否。

intmax(a,b)b==1;a==2;這裡的實參是下面的a和b,其中上面的a對應的是b也就是形參a為1

如果你定義函式之前先使用就要聲名,一般情況下建議先定義後使用。

建議你去書店找找潭浩強的c語言。

書,對你有幫助的。

在c語言中,函式呼叫是否必須先宣告?

7樓:

在c語言中,編譯乙個c語言原始檔是從第一行開始掃瞄到最後的,你呼叫乙個函式,之前必須定義或申明過這個函式。

這樣是合法的:

void f()

int main()

這樣也是合法的。

void f();

int main()

void f()

這樣就是非法的。

int main()

void f()

所以函式呼叫不一定需要先宣告,當函式定義呼叫函式之後需才要先申明。

c語言中在什麼情況下呼叫自定義函式前需要先宣告?

8樓:v的旋律

對本檔案中的函式可以不加宣告。

但這只限於函式呼叫的情況,函式呼叫時在函式名後面跟括號和實參,編譯時能根據此形式判斷它為函式,則無需宣告,反之需要。

9樓:菜菜學計算機

編譯器是按順序編bai譯的,du如果有以下情況zhi:

void a()

void b()

打個比方。int a=b; //報錯。

int b=0;

其實是乙個道理。

變數只能先定義再使用。

10樓:網友

你的函式。

抄調整用在定義的前面,這時候你要呼叫編譯器是不識別的,你要在前面提前宣告。

比如:void fun();//提前宣告。

void main()

void fun()

11樓:網友

把整個函式寫在呼叫該函式處的上面就不用宣告瞭,否則需要宣告。

c語言中怎麼呼叫自定義函式

12樓:打孃胎裡喜歡你

如下:如果自定義函式在main()函式之後定義的話,,就得在main()前先宣告,main()中呼叫,main()後定義,如下簡易**:

#include

void print();//使用者自定義函式宣告void main()

void print() //使用者自定義函式定義如果自定義函式在main()之前已定義,則只需要進行main()前定義,和main()中呼叫了,簡單**如下:

#include

void print() //使用者自定義函式定義void main()

13樓:尖子生管理員小宇

本次課程主要講解vs13下如何使用輸出函式printf,以及相關的格式輸出說明符的呼叫,對於不是計算機專業想要學程式設計的學生來說,是乙個很好的基礎教程,希望大家可以認真跟我一起從0基礎開始學開發!

14樓:臨水

如果自定義函式是放在另外乙個檔案中,就加上#include"檔名。h";

如果在同乙個檔案中,就先定義函式,再在main函式中呼叫。

15樓:網友

跟呼叫庫函式一樣,只不過這個自定義函式得你自己寫,如果自定義函式在main()函式之後定義的話,,就得在main()前先宣告,main()中呼叫,main()後定義,如下簡易**:

#include

void print();//使用者自定義函式宣告void main()

void print() //使用者自定義函式定義如果自定義函式在main()之前已定義,則只需要進行main()前定義,和main()中呼叫了,簡單**如下:

#include

void print() //使用者自定義函式定義void main()

16樓:網友

和呼叫庫函式一樣,只是函式體要你自己寫。如下:

int myfunc()

main()

輸出結果:lib func!

in myfunc printf!

17樓:網友

函式名(引數1,引數2……引數n)

c語言中,函式呼叫前是否必須需事先宣告?

18樓:網友

稍微補充一點,雖然有些情況下函式沒有宣告一樣可以使用,像你說的那樣,但是乙個優秀的程式設計師要嚴謹,養成良好的程式設計習慣,注意程式設計規範會使得你以後避免許多麻煩。

19樓:網友

不可以 這個跟編譯器有關係,有些編譯器可以識別 但是不代表所有的編譯器都能夠識別。

20樓:網友

如果要掉用的函式定義在main函式之後,就要先宣告函式。

如果定義在main函式之前,則不用。

例如:1.第一種情況--不用。

int max()

main()

2.第二種情況---用。

main()

int max()

21樓:網友

那個不叫宣告吧。。。只有vb中對api的呼叫才用宣告這個詞。。。

在c語言中這個叫標頭檔案。。。

你是說#include這個標頭檔案沒加也可以執行是吧。。。

假如乙個程式只用到了stdio這個檔案中的庫函式。。。有些編譯器是可以預設自動新增的。。。當然就可以通過編譯了。。。

22樓:網友

如果函式定義在前,可不申明。

若果函式定義在後,必須申明。

23樓:

這個程式可以這樣分析,其實很簡單,首先你要新增上去#include這個標頭檔案,其次你就這樣記憶:要是main()函式在被呼叫函式的前面,也就是像你所說的這樣情況的話,就必須在main()函式前面對被呼叫函式進行宣告才可以正常呼叫函式,不然編譯會出錯的,如果被呼叫函式出現在在了main()函式的上面,也就是mian()函式和你現在max函式位置調換一下,那麼就不必對被呼叫函式進行宣告瞭,直接呼叫就可以了。

這樣的記憶比較清晰一點,我平時程式設計是將主函式寫在最後,前面寫被呼叫函式,這樣就避免了忘記寫函式宣告而編譯出錯,希望我的解答能夠幫助到你,

c語言:自定義函式中什麼是除了函式返回值為int型別的自定義函式外,函式必須先定義後呼叫

24樓:時若谷海丁

如果沒有明確寫出返回型別的話,預設為int型別。void必須要明確寫出來才可以,void是空型別,指的是函式不提供返回值,不是預設的。

c語言中怎麼呼叫自己定義的函式?

25樓:兔丞飛

在使用乙個函式之前必須先對他進行宣告:

void b();宣告b函式的存在。void a()void b(){

或者#include

#include

#include

int fa(int n)

void main( )

void main( )

26樓:匿名使用者

#include

#include

#include

int fa(int n)

void main( )

你的程式有幾處語法錯襲誤 幫你改過來了。

有什麼疑問,隨便問 o(∩_o~

27樓:網友

函式返回值(可無)=函式名(引數1,引數2,。。

28樓:網友

函式名(引數);多看看書啊!問的比較抽象!

在c語言中,自定義的函式一定要有函式宣告嗎

29樓:

不是,如果你把自定義函式寫在主函式前面的話,就是說寫在開始的話,就可不用宣告瞭。

否則宣告是必需的。

30樓:冰辰華冠

不一定,只要函式體在呼叫它的外函式前就可以不申明。

C語言中printf53f,q中的53是什麼

小數點前面的數字表示輸出列數 數字位數大於它時,按實際位數輸出,小數點前空缺也是 小數點後面的數字表示輸出的小數點位數,如果位數不足就會四捨五入,如果位數不夠顯示就會在後面補0.比如x 12.31913 則printf 5.3f x 就是 12.319 注意小數點也算一位數長!又如x 2.31913...

c語言中printf數值前面加是什麼求大神發個完整的

反斜槓 a 警告 b 退格 f 換頁 n 換行 r 回車 t 跳格 v 垂直跳格 ddd ddd 是 1 2 或 3 位八進位制數字,xuu uu 是十六進位制的數字。這些轉義序列作為由八進位製數指定的具有數字值的位元組顯示。如果你是指printf 70 這樣的話,那就是ascii碼,不過加了 70...

c語言中printf5dn是什麼意思呢

輸出十進位制的整數n,並使輸出的資料左對齊。printf函式稱為格式輸出函式,其關鍵字最末乙個字母f即為 格式 format 之意。其功能是按使用者指定的格式,把指定的資料顯示到顯示器螢幕上。在前面的例題中我們已多次使用過這個函式。printf函式呼叫的一般形式 printf函式是乙個標準庫函式,它...