1樓:12345額時代
子函式在宣告後可以先呼叫,後定義;避免編譯器猜資料。操作方法如下:
1、函式的宣告,函式有兩種型別,一種是有返回值的,前面用int float double char 來定義,如int f(int n);前面的int就是返回值型別。
2、 如果函式不需要返回值,那麼就用void來寫在前面,如void f(int n);注意宣告後面加分號。
3、 函式的定義,有返回值的函式一般就是 int f(int) 。注意f()沒有分號。
4、沒有返回值的函式結構為void f(){函式內容,發f(int n)後面也沒有分號。
5、看一下函式的呼叫,有返回值的一般語言定義一個變數如c=f(n)。
2樓:匿名使用者
因為,程式的編譯都是從main函式開始的。所以當要呼叫的子函式在main 函式之前定義時,就不需要再在main函式中宣告子函式了,如果要呼叫的子函式在main函式後面時,就必須在main函式中宣告,否則,編譯將出現錯誤。
如果,怕忘了,在main函式中宣告子函式,建議你養成在main函式前定義子函式的習慣,計算機等級考試裡的子函式,也都是在main函式之前定義的。
希望對你有幫助!
3樓:明月看盡滄桑
子函式在宣告後可以先呼叫,後定義;避免編譯器猜資料。如下:
4樓:匿名使用者
基本上來說是沒有多大的區別的。
區別可能就是在你的呼叫函式在你的被呼叫函式之前出現的。那麼這個時候你要是不宣告被呼叫函式的話,就會報錯的。然後你在前面加上函式的宣告就沒有問題了。
但是如果你的被呼叫函式在你的呼叫函式之前出現呢,即實現,那麼這個時候就是不會有什麼影響的。
比如說:函式a是呼叫函式,函式b是被呼叫函式可以這樣寫
void a()
void b()
如果這樣寫的話,那麼就是不會有什麼問題的。
但是如果像下面這樣寫的話,就會有問題了。
voidb()
void a()
//程式除錯的時候會報錯的。
5樓:匿名使用者
子函式與主函式之間的順序需要發生改變而已.
主函式在前,必須宣告,要不主函式不能呼叫。
主函式在後,就不必宣告。
c語言中函式宣告是否必要? 自定義函式放在前、放在後有何區別?
6樓:匿名使用者
函式必須在宣告後使用,如果在宣告前使用,會發生錯誤這樣的呼叫會發生錯誤:
void b()
void a()
如果需要把函式a的實現放到函式b的後面,正確的方法是:
void a();
void b()
void a()
7樓:匿名使用者
必需的,儘管有些情況不需要,有一定不會出錯。自定義函式放在前,表示全域性域通用;放在後只能定義局域函式運算,如在一個迴圈裡做函式運算。這個書上都有明確定義,只要你認真看書就能掌握。
8樓:匿名使用者
c是程序導向的語言,即一步步按流程下去,寫在前面編譯器就知道有這個函式,寫在後面的話需要在main()前面加上那個函式的宣告,告訴編譯器有這個函式
9樓:匿名使用者
當函式體在使用點之後時,需要事先宣告
沒有區別
c語言中的fgets函式,C語言裡fgets函式怎麼用?
fgets 函式用於從檔案流中讀取一行或指定個數的字元,其原型為 版char fgets char string,int size,file stream 引數說明 string為一個字元陣列,用來保權 存讀取到的字元。size為要讀取的字元的個數。如果該行字元數大於size 1,則讀到 size ...
c語言scanf 輸入函式,c語言中的scanf 函式的用法
scanf是c語言中的一個輸入函式,與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上 include 在有一些實現中,printf函式與scanf函式在使用時可以不使用預編譯命令 include 它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指...
c語言怎麼呼叫庫函式求函式值,c語言中不用庫函式怎麼求冪指數
c cos 3.5678 就是呼叫庫函式。include之後,與使用你自己定義的函式的方法一樣,直接用。f 不指定寬度,整數部分全部輸出並輸出6位小數。m.nf 輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。m.nf 輸出共佔m列,其中有n位小數,如數值寬度小於m右端補空格。c語言中不用...