C/C++編程筆記:在C中聲明函數(shù)之前調(diào)用函數(shù)會發(fā)生什么?
2020-12-07 21:56 作者:C語言編程__Plus | 我要投稿

在C語言中,如果在聲明函數(shù)之前調(diào)用了函數(shù),則編譯器會將函數(shù)的返回類型假定為int。
例如,以下程序編譯失敗。

如果以上代碼中的char fun()函數(shù)在main()之前定義,則它將編譯并完美運行。
例如,以下程序?qū)⒄_\行。

以下程序可以編譯并正常運行,因為函數(shù)是在main()之前定義的。

參數(shù)呢?編譯器不假設參數(shù)。因此,當函數(shù)應用于某些參數(shù)時,編譯器將無法對參數(shù)類型和參數(shù)進行編譯時檢查。這可能會引起問題。例如,以下程序在GCC中編譯良好,并產(chǎn)生了垃圾值作為輸出。

有一種誤解,認為編譯器還假定輸入?yún)?shù)也是int。如果編譯器假定輸入?yún)?shù)為int,則上述程序?qū)o法編譯。
這是我們在探究C中聲明函數(shù)之前調(diào)用函數(shù)會發(fā)生什么的一篇隨想經(jīng)驗。其實我們大家在面臨很多在學習過程中產(chǎn)生的一些小問題的時候,自己不要著急去直接百度,有時候自己去敲代碼實踐,會讓你更加深入的了解并記住,有時候說不定也會有意外收獲喲~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)
歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:

編程學習視頻分享:

標簽: