2 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
我之前回復(fù)意思是:第12行你應(yīng)該給d賦值的,但是沒有。而你定義d的時(shí)候也沒有提供初值,所以d的值是不確定的。這樣你的結(jié)果也不會(huì)是正確的。這是你代碼中的邏輯錯(cuò)誤。
好像這個(gè)就是你的全部代碼!? ?這樣的話,最后沒能生成可執(zhí)行文件因?yàn)槟銢]有定義main函數(shù)。 C程序一定是從main函數(shù)開始執(zhí)行(改成別的名字不行),所以應(yīng)該將"daoxu"改成main。
關(guān)于為什么第一次沒有錯(cuò): C源代碼要經(jīng)過編譯和鏈接兩個(gè)過程后才能生成可執(zhí)行文件。你的第一張圖是編譯器在編譯這個(gè)代碼,沒有不合語法的錯(cuò)誤就可以編譯通過。生成的是一個(gè)"中間過程文件" (VC編譯出的后綴是.obj)。隨后不同源代碼編譯出的這些過程文件由鏈接器鏈接起來形成最終的可執(zhí)行文件,這個(gè)過程中它會(huì)發(fā)現(xiàn)你沒有定義main函數(shù),最終報(bào)錯(cuò)。
上面這些暫時(shí)看不懂也沒關(guān)系,你只要記住一定要定義main函數(shù)!
- 2 回答
- 0 關(guān)注
- 1329 瀏覽
添加回答
舉報(bào)