1樓:網友
應該要宣告的吧 看你用什麼編譯軟體的 有可能有些編譯軟體可以不宣告 所以一般把main函式寫在最後 這樣就不用申明瞭。
2樓:僑盼秋
理論上說確實要宣告……
但是……我覺著吧。。。可能遞迴不用宣告。。。
main()
void printstart()
如果不在主函式里宣告。。確實報錯。。
3樓:網友
在vc下編譯時會報錯啊。
估計是更用的編譯器有關。
c語言函式不宣告行嗎
4樓:藍卓兒
函式的入口在main(),程式從上至下執行的,如果你的函式在main()之後定義並且沒有宣告,執行的時候編譯器會找不到定義而編譯不過。宣告就是要讓編譯器知道函式原型 (檢測錯誤)
總之,如果main()函式在前,必須在main()中寫函式宣告;如果函式在main()前面,可以不在main()中寫函式宣告。
5樓:garyzhu朱古力
如果你的函式書寫在主函式之前就不用單獨宣告,如果在主函式之後,就要在主函式之前宣告。
c語言中宣告函式有什麼用? 為什麼有的**不用宣告函式就能直接使用?
6樓:弒緋
**的執行是自上到下的。如果你的函式在被呼叫的地方的上面。那麼你就可以不需要宣告。反之,如果你的函式在呼叫處的下面。那麼你必須要宣告,不然你的程式沒法呼叫函式。
7樓:雪童子
程式的執行永遠是從main函式開始的 而不論main函式在程式中的位置如何 所以函式執行並不是從上到下的 但是 編譯是從上到下的 程式都是先編譯後執行的 所以如果main函式呼叫的函式寫在main函式之前 就不用在main中宣告瞭。
8樓:網友
我短路了,哪個函式沒有宣告就直接用的,能否舉個例?
寫在呼叫**前面的,這不也叫變相宣告嗎?
為什麼c語言需要函式宣告
9樓:四輪嬰兒車
c語言的編譯是自頂向下進行的。
這是由c語言的編譯器規定的。你可以認為c語言的編譯器,就是把你寫的c語言**翻譯成計算機能懂的語言的翻譯者。翻譯者在讀你的**的時候,是從第一行開始向下讀的。
你寫的函式宣告,就是告訴翻譯者,你定義了乙個函式。你寫的函式體,就是在告訴翻譯者,這個函式宣告代表的函式是什麼樣子的。
10樓:網友
c語言的編譯原理決定從上到下。
在c語言中,函式定義跟函式宣告有什麼區別有什麼不同之出?
11樓:網友
int fun(int a, int b);
函式定義:int fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,
12樓:網友
定義是實現功能的**,本質是需要編譯器編譯成二進位**的。
函式宣告對函式的描述,用於告訴編譯器本檔案中提到的這個函式應該按照宣告的形式去呼叫。
13樓:
1.函式定義可以定義在標頭檔案中,注意在其之前新增extern。
2.函式定義,也可以定義在程式首部,只要在函式定義前就可以了。
fun(void);//宣告。
fun(void)//定義。
5.有時也會有人選擇,不寫函式宣告,直接再呼叫函式前定義函式。
14樓:鬼扯石室
函式宣告只是向呼叫函式(例如main)函式說:有這個函式在,需要呼叫它。
所以只需要給出函式原型即可,譬如:int func(int a);
函式定義則是要將這個函式具體的函式體實現出來,就需要寫出乙個完整的函式。
譬如:int func(int a)
有時候我們直接將完整函式寫到呼叫函式(例如main)中,就免去了單獨的函式宣告。
如果希望將函式體寫在呼叫函式之外,就需要在呼叫函式中專門做函式宣告瞭。
15樓:扶桑看天
宣告嘛表示有這麼個函式了,定義就是具體實現了,舉個例子:
函式宣告:int fun(int a, int b);
函式定義:int fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,後面根本沒執行就找不到了,當然報錯了,就要在前面加宣告,表示有這個函式,反之先寫函式體,後呼叫宣告就用不了,不在同一原始檔,道理也是如此,寫的夠簡單明白的了吧,累死我了。
c語言,函式,函式,c語言,函式,函式模板
那是c 自帶的模板庫,c的很少,而且 長難記且功能少,基本可以忽略。要是用c的話,函式基本要自己寫的 在c語言中如何實現函式模板 各種用 c 語言實現的模板可能在使用形式上有所不同。現以一個求和函式 sum 為例,用 c template 可寫如下 template r sum const t ar...
設計C語言函式,設計一個C語言函式
define n 10 void fun temp n int i 0,j 0 for i 0 i 設計一個c語言函式 急求 c語言 設計一個函式獲得1 20的一個隨機數.子函式的定義該怎麼寫呀?謝謝 include include include int rnd0 int n int main i...
c語言中的abs函式,c語言中的abs函式ifabsx1x21什麼意思abs不是返回絕對值嗎
這條語句意思是 如果x1 x2的絕對值等於1,則if的條件成立,此時表示式abs x1 x2 1 的值是1,即條件成立。意思就是判斷x1 x2的差的絕對是不是等於1唄 y zeros fftsize,1 y 20 log10 abs x1 subplot 3,1,2 在matlab中,這些語句都什麼...