c語言中宣告子函式和沒有宣告子函式有什麼區別

2021-03-07 03:57:27 字數 1698 閱讀 5998

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語言中不用...