[問題] 程式碼片段要放在何處?

看板C_and_CPP (C/C++)作者 (康康康康康康)時間16年前 (2009/06/09 03:43), 編輯推噓5(5014)
留言19則, 5人參與, 最新討論串1/1
看到一程式碼片段如下 int compute(int n) { int i, result , t; t = 1; for (i=1 ; i<=n ; i++) { result *=i; } return result; } 請問一下上面一樣也要有 #include<stdio.h> #include <stdlib.h> 這兩行嗎? 剛剛有試著弄到dev跑看看,可是不懂的是為什麼int i, result t;這行會出錯? 麻煩各位解惑了,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.24.226.36

06/09 03:48, , 1F
恩...請問你的程式碼在哪裡看到的@@a
06/09 03:48, 1F

06/09 03:49, , 2F
stdio跟stdlib應該沒有定義result這種東東...吧
06/09 03:49, 2F

06/09 03:54, , 3F
是在金X給的考古題詳解看到的
06/09 03:54, 3F

06/09 03:54, , 4F
有時候看書會看到他們只給一片段當作答案
06/09 03:54, 4F

06/09 03:54, , 5F
好苦惱= =
06/09 03:54, 5F

06/09 03:55, , 6F
就少了一個,要int i,result,t;
06/09 03:55, 6F

06/09 03:56, , 7F
第二行應該是t=1;,另外要不要加標頭檔,你拿掉試試不就知道了
06/09 03:56, 7F

06/09 03:58, , 8F
金X是金笛喔,台灣的出版品校稿品很差,就算是什麼旗標都會常
06/09 03:58, 8F

06/09 03:58, , 9F
看到印錯的內容了,旗標還已經算是品質比較好的了
06/09 03:58, 9F
謝謝。可是程式跑不出來,不知道是哪個環節出了問題? 以下是我修改過的,麻煩了 #include<stdio.h> #include <stdlib.h> int compute(int n) { int i, result,t; t = 1; for (i=1 ; i<=n ; i++) { result *=i; } return result; system("pause"); return 0; } (按執行後沒有反應) ※ 編輯: chemical1223 來自: 163.24.226.36 (06/09 04:04)

06/09 04:07, , 10F
沒有程式的進入點,每個程式都要有一個main()函數,在main()裡
06/09 04:07, 10F

06/09 04:08, , 11F
面再去呼叫這個compute()函數,你應該找本教C/C++的書來對照
06/09 04:08, 11F

06/09 04:12, , 12F
所以是要在第三行前加 int main(void){ 嗎??
06/09 04:12, 12F

06/09 05:31, , 13F
除了main是系統會叫你之外其他的都要你自己去叫
06/09 05:31, 13F

06/09 05:31, , 14F
所以你就把你平常寫函式的方法拿出來用就是了
06/09 05:31, 14F

06/09 09:28, , 15F
return result;後的程式就不會執行到了吧??
06/09 09:28, 15F

06/09 09:29, , 16F
還是建議去看看書, 把程式進入點, 函數呼叫(與是否需要
06/09 09:29, 16F

06/09 09:29, , 17F
相關標頭檔)這些基礎觀念重新建立一下吧....
06/09 09:29, 17F

06/09 09:30, , 18F
最後, 這個程式的t好像沒用處吧??看起來是算階乘, 所以
06/09 09:30, 18F

06/09 09:31, , 19F
好像是t = 1;那行應該是換成result = 1;才對吧?_?
06/09 09:31, 19F
文章代碼(AID): #1ABMdTPo (C_and_CPP)
文章代碼(AID): #1ABMdTPo (C_and_CPP)