作者kinkipikachu (提琴手的无弦之声)
看板Visual_Basic
标题[VB6 ] 请问要如何解释
时间Mon Oct 29 21:56:57 2012
各位大大好 小弟想要请问一个程式的问题
麻烦大大破除我的观念
private sub form_activate()
'main program
k=game(5)
print k
end sub
function game(x)
if (x>1) then
game=x*game(x-1)
else
game=1 '主要是这一行
end if
end function
有同事问我 为何不是game(1)=1
小弟是觉得不对 但为何不对 又无法用一个简单明了的观念来说明
vb2008 告诉我 运算式是一个数值,不可以是被指派的目标
我就更无言了........何谓是被指派的目标 ???
再麻烦各位大大解除我心中的疑惑 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.242.12
1F:推 fumizuki:game是函数非变数,不可以指派任何数值... 10/29 22:01
2F:→ kinkipikachu:请问 game(x-1) 要如何解释呢? 这不是函数吗 ?? 10/29 22:09
3F:→ kinkipikachu:虽然我知道这个是在做递回求阶层 但VB的观念我解释 10/29 22:09
4F:→ kinkipikachu:不出 10/29 22:14
5F:推 Y78:game=x*game(x-1) game(x-1)是去呼叫game这个函式 然後取得值 10/29 22:19
6F:→ Y78:你可以把 game = x 看成C语言中的 return x; 我觉得会比较好懂 10/29 22:19
7F:→ Y78:return x*game(x-1); 10/29 22:20
8F:→ Y78:game = 1 其实就很像是 return 1; 的意思 10/29 22:21
9F:→ MOONRAKER:你问VB6还是VB2008?这个程式不能用於VB2008你知道吗? 10/29 22:22
10F:→ kinkipikachu:感谢y大的指导 如果用C语言 更快~~ 10/30 06:45
11F:→ kinkipikachu:我比较熟C VB真的完全不熟 ~~ 10/30 06:46
12F:→ kinkipikachu:对不起 是我没说明清楚 我有更改一些地方 10/30 07:10
13F:→ kinkipikachu:我用 TEXT 丢出输出 但是主架构不变 感谢M大 10/30 07:10
14F:→ MOONRAKER:<函数名>=<传回值>这是VB6的写法,承袭自老VB/QB系列 10/30 09:01
15F:→ MOONRAKER:到VB2008改用C-fashion的return <传回值> 10/30 09:01
16F:→ MOONRAKER:(其实应该是VB2003/.NET 1.1就改了) 10/30 09:01
17F:推 ymzk:这不是高中计算机概论的题目吗0.0 囧 10/31 19:29
18F:→ MOONRAKER:高中现在有计算机概论!? 10/31 19:38
19F:推 ymzk:有哇@@" 我们刚上完不久@@" 10/31 23:03