[VB6 ] 請問要如何解釋

看板Visual_Basic作者 (提琴手的無弦之聲)時間13年前 (2012/10/29 21:56), 編輯推噓4(4015)
留言19則, 5人參與, 最新討論串1/2 (看更多)
各位大大好 小弟想要請問一個程式的問題 麻煩大大破除我的觀念 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

10/29 22:01, , 1F
game是函數非變數,不可以指派任何數值...
10/29 22:01, 1F

10/29 22:09, , 2F
請問 game(x-1) 要如何解釋呢? 這不是函數嗎 ??
10/29 22:09, 2F

10/29 22:09, , 3F
雖然我知道這個是在做遞迴求階層 但VB的觀念我解釋
10/29 22:09, 3F

10/29 22:14, , 4F
不出
10/29 22:14, 4F

10/29 22:19, , 5F
game=x*game(x-1) game(x-1)是去呼叫game這個函式 然後取得值
10/29 22:19, 5F

10/29 22:19, , 6F
你可以把 game = x 看成C語言中的 return x; 我覺得會比較好懂
10/29 22:19, 6F

10/29 22:20, , 7F
return x*game(x-1);
10/29 22:20, 7F

10/29 22:21, , 8F
game = 1 其實就很像是 return 1; 的意思
10/29 22:21, 8F

10/29 22:22, , 9F
你問VB6還是VB2008?這個程式不能用於VB2008你知道嗎?
10/29 22:22, 9F

10/30 06:45, , 10F
感謝y大的指導 如果用C語言 更快~~
10/30 06:45, 10F

10/30 06:46, , 11F
我比較熟C VB真的完全不熟 ~~
10/30 06:46, 11F

10/30 07:10, , 12F
對不起 是我沒說明清楚 我有更改一些地方
10/30 07:10, 12F

10/30 07:10, , 13F
我用 TEXT 丟出輸出 但是主架構不變 感謝M大
10/30 07:10, 13F

10/30 09:01, , 14F
<函數名>=<傳回值>這是VB6的寫法,承襲自老VB/QB系列
10/30 09:01, 14F

10/30 09:01, , 15F
到VB2008改用C-fashion的return <傳回值>
10/30 09:01, 15F

10/30 09:01, , 16F
(其實應該是VB2003/.NET 1.1就改了)
10/30 09:01, 16F

10/31 19:29, , 17F
這不是高中計算機概論的題目嗎0.0 囧
10/31 19:29, 17F

10/31 19:38, , 18F
高中現在有計算機概論!?
10/31 19:38, 18F

10/31 23:03, , 19F
有哇@@" 我們剛上完不久@@"
10/31 23:03, 19F
文章代碼(AID): #1GZeihB_ (Visual_Basic)
文章代碼(AID): #1GZeihB_ (Visual_Basic)