作者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