vb高手幫忙看下這段程式哪裡有問題?提示編譯錯誤ByRef引數型別不符

2023-01-10 02:40:42 字數 913 閱讀 8124

1樓:匿名使用者

yuanlin8510的回答是正確的,但提到的兩點只是邏輯錯誤,雖然會導致結果不正確,但是編譯可能並不會出錯。

導致出錯的原因是這幾句

call panduan(x) 『呼叫函式時不用call,call一般用於呼叫過程

if panduan = true then print x; "是水仙花數"

'上面這一句錯了,因為panduan是一個帶引數的函式而不是一個變數或無引數的函式,當這樣寫時會呼叫panduan函式而引數為空,所以與函式定義時的引數是string型別不符導致出錯。

if panduan = false then print x; "不是水仙花數"

'上面這一句同樣錯誤

yuanlin8510的輸出部分還是不太好,因為不必要的呼叫了兩次panduan函式,其實只要一次就好了:

if panduan(x) then '這裡的條件並不需要寫成panduan(x)=true

print x;"是水仙花數"

else

print x;「不是水仙花數"

end if

或者下面更簡潔:

print x;iif(panduan(x),"是水仙花數","不是水仙花數")

2樓:匿名使用者

panduan()是函式

而你用call,執行了它一次,但返回不知放哪。

你在下面的if語句裡又用了panduan,但沒有一個函式,所以會報錯改成if panduan(x) = true then print x; "是水仙花數"

if panduan(x) = false then print x; "不是水仙花數"

(純手打,望採納)

3樓:夢裡尋你我他

你輸入的x不是西文單位元組數字

尋求VB高手,幫忙做個程式

option explicit private sub check1 click index as integer check1 index 1 check1 index dim i j text1.text j 0 for i 0 to 34 if check1 i 1 then text1.te...

VB問題,急,高手來,有追加,VB問題 求解

產生 a,b 的隨機函式。int rnd b a 1 a 在使用前首先要用randmoize函式播種如果還有什麼問題可以給我發郵件。先把問題發上來啊。rand 隨機函式,產生的資料並不是正式的隨機,而是按照一定規律產生的雜湊資料。每次重新啟動電腦後,產生的資料序列會一樣的。vb 只有 rnd 函式,...

幫忙看下這個配置有問題嗎,幫忙看下這個配置有問題嗎

cpu 610 主機板 725 記憶體 210 硬碟 350 機箱電源 260 共計 2155元 2008 09 28日,可供參考,各地略有出入 按順序600 700200 350 機箱差價太大了 還是在你們當地看吧,而且貨很少 不像網上這麼多 e5200 590 技嘉ga p35 s3g 860 ...