在C語言中,若是在聲明函數以前調用了函數,則編譯器會將函數的返回類型假定爲int。編程
例如,如下程序編譯失敗。微信
若是以上代碼中的char fun()函數在main()以前定義,則它將編譯並完美運行。函數
例如,如下程序將正常運行。學習
如下程序能夠編譯並正常運行,由於函數是在main()以前定義的。spa
參數呢?編譯器不假設參數。所以,當函數應用於某些參數時,編譯器將沒法對參數類型和參數進行編譯時檢查。這可能會引發問題。例如,如下程序在GCC中編譯良好,併產生了垃圾值做爲輸出。3d
有一種誤解,認爲編譯器還假定輸入參數也是int。若是編譯器假定輸入參數爲int,則上述程序將沒法編譯。視頻
這是咱們在探究C中聲明函數以前調用函數會發生什麼的一篇隨想經驗。其實咱們你們在面臨不少在學習過程當中產生的一些小問題的時候,本身不要着急去直接百度,有時候本身去敲代碼實踐,會讓你更加深刻的瞭解並記住,有時候說不定也會有意外收穫喲~blog
另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~教程
C語言C++編程學習交流圈子,QQ羣1090842465【點擊進入】微信公衆號:C語言編程學習基地get
分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!
編程學習書籍分享:
編程學習視頻分享: