UCASE $的语法错误?

时间:2017-04-17 18:50:46

标签: qbasic

不确定这意味着什么。它说UCASE$是语法错误,但是我不能将letter$放在那里吗?

CLS
PRINT "Do you want lower case or upper case? (U/L)"
DO
    CASED$ = INKEY$
LOOP UNTIL CASED$ = "U" OR CASED$ = "L"



IF CASED$ = "L" THEN
    FOR char = 1 TO 26
        READ letter$
        PRINT letter$; " = "; ASC(letter$)
        SLEEP 1
    NEXT char
ELSE
    FOR char = 1 TO 26
        READ letter$
        UCASE$(letter$)
        PRINT letter$; " = "; ASC(letter$)
        SLEEP 1
    NEXT char
END IF
DATA a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z

1 个答案:

答案 0 :(得分:3)

UCASE $是一个返回字符串的函数。您需要将它返回的内容传递给变量。 BASIC中大多数内置函数的一个常见行为是它们可以代替变量或表达式。

letter$ = UCASE$(letter$)

要说明原因,请尝试

a$ = "h"
PRINT a$, UCASE$(a$)

在新计划中。如您所见,UCASE $本身成为新字符串而不是操纵原始字符串。如果要保留函数的结果,必须将其传递给变量。