標籤:

Dev C++編譯出錯[Error] ld returned 1 exit status 如何解決?

明天交課題作業我真的要吐血了_(:зゝ∠)_


因為看見你說吐血,所以我才不忍心不管不顧啊,囧...

其實,出現這樣的unreferenced鏈接問題,都是很容易解決的,那就是程序中使用了該符號,但是卻找不到了,無論這樣的使用是編譯器使用的,還是你自身程序使用了。不過,你這裡的情況,有些特殊,是找WinMain,於是這會給人第一個懷疑,那就是你建立的是Windows窗體程序,卻沒有定義WinMain,即編譯器想要找這樣的入口。然而,我相信你不會犯這樣的錯誤,因為這實在是太低級的錯誤了。

而跨過第一個疑問以後,我會更懷疑你的代碼本身,是什麼掩蓋了main入口。後面我看提示18行,我才發現你的Input函數的括弧把所有的都括起來了,也就是說你的main函數被掩蓋在了Input函數裡面,於是main函數將不會被鏈接器找到,即沒有入口。當然,若你建立的是控制台程序,也不應該提示WinMain,這會給人很大的勿擾。

函數裡面再次定義函數,應該是C語言裡面很古老的時候的東西了,Clang已經不允許這樣的了,或許是GCC為了兼容老古董級別的C語言才會這樣允許吧。


input函數有問題,


你把已經打開的黑窗口關掉試試


函數裡面不可以定義函數 但凡你把縮進寫的規則一點你也不會看不出來這個問題……


推薦閱讀:

char *ds = gets();這行代碼在VS2017為什麼可以運行,沒有error?
C 語言代碼出錯為什麼顯示「燙燙燙」,而不是其它字?
在寫代碼的時候,加法快還是乘法快還是都一樣?
軟體乘法和硬體乘法哪個效率高?為什麼?
對於學生黨什麼編程語言比較適合?

TAG:C編程語言 |