作者chemical1223 (康康康康康康)
看板C_and_CPP
標題[問題] 程式碼片段要放在何處?
時間Tue Jun 9 03:43:22 2009
看到一程式碼片段如下
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
1F:推 flamerecca:恩...請問你的程式碼在哪裡看到的@@a 06/09 03:48
2F:→ flamerecca:stdio跟stdlib應該沒有定義result這種東東...吧 06/09 03:49
3F:→ chemical1223:是在金X給的考古題詳解看到的 06/09 03:54
4F:→ chemical1223:有時候看書會看到他們只給一片段當作答案 06/09 03:54
5F:→ chemical1223:好苦惱= = 06/09 03:54
6F:推 zlw:就少了一個,要int i,result,t; 06/09 03:55
7F:→ zlw:第二行應該是t=1;,另外要不要加標頭檔,你拿掉試試不就知道了 06/09 03:56
8F:→ zlw:金X是金笛喔,台灣的出版品校稿品很差,就算是什麼旗標都會常 06/09 03:58
9F:→ zlw:看到印錯的內容了,旗標還已經算是品質比較好的了 06/09 03:58
謝謝。可是程式跑不出來,不知道是哪個環節出了問題?
以下是我修改過的,麻煩了
#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)
10F:推 zlw:沒有程式的進入點,每個程式都要有一個main()函數,在main()裡 06/09 04:07
11F:→ zlw:面再去呼叫這個compute()函數,你應該找本教C/C++的書來對照 06/09 04:08
12F:→ chemical1223:所以是要在第三行前加 int main(void){ 嗎?? 06/09 04:12
13F:推 LPH66:除了main是系統會叫你之外其他的都要你自己去叫 06/09 05:31
14F:→ LPH66:所以你就把你平常寫函式的方法拿出來用就是了 06/09 05:31
15F:推 VictorTom:return result;後的程式就不會執行到了吧?? 06/09 09:28
16F:→ VictorTom:還是建議去看看書, 把程式進入點, 函數呼叫(與是否需要 06/09 09:29
17F:→ VictorTom:相關標頭檔)這些基礎觀念重新建立一下吧.... 06/09 09:29
18F:→ VictorTom:最後, 這個程式的t好像沒用處吧??看起來是算階乘, 所以 06/09 09:30
19F:→ VictorTom:好像是t = 1;那行應該是換成result = 1;才對吧?_? 06/09 09:31