2

不知道这意味着什么。它说这是一个语法错误,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
4

1 回答 1

3

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

letter$ = UCASE$(letter$)

为了证明这是为什么,请尝试

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

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

于 2017-04-17T20:14:16.010 回答