Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String BASIC中的子程序_String_Variables_Call_Subroutine_Basic - Fatal编程技术网

String BASIC中的子程序

String BASIC中的子程序,string,variables,call,subroutine,basic,String,Variables,Call,Subroutine,Basic,下面是一本关于Liberty BASIC编程的书中的代码: NOMAINWIN PROMPT "Your name"; name$ CALL DisplayMessage name$ END SUB DisplayMessage stuff$ X = INT(RND(1) * 2) + 1 IF X = 1 THEN NOTICE stuff$ + " is a nice person." ELSE NOTICE stuff$ + " is a terrible person." END IF

下面是一本关于Liberty BASIC编程的书中的代码:

NOMAINWIN
PROMPT "Your name"; name$
CALL DisplayMessage name$
END

SUB DisplayMessage stuff$
X = INT(RND(1) * 2) + 1
IF X = 1 THEN
NOTICE stuff$ + " is a nice person."
ELSE
NOTICE stuff$ + " is a terrible person."
END IF
END SUB

想知道为什么不在子例程中使用
name$
,而不是
stuff$
?子例程如何知道在
name$
stuff$
之间建立连接?

以相反顺序回答您的问题:
CALL DisplayMessage name$
表示执行子例程
DisplayMessage
,当前值
name$
放入
stuff$
。此机制允许使用
DisplayMessage
打印除
name$
以外的内容,使子例程更加有用。

谢谢您的帮助。另外,如果我有2个或更多变量,例如:
NOMAINWIN
提示“您的姓名”;name$
提示“您的年龄”;年龄$
调用DisplayMessage name$,年龄$
结束
子显示消息stuff$,东西$
X=INT(RND(1)*2)+1
如果X=1,那么
注意stuff$+“是个好人。”
否则
注意事物$+“是个好年龄。”
END IF
END SUB
此代码将
name$
分配给
stuff$
age$
分配给
thing$
,因为这是它们在参数列表中列出的顺序?