我有这个var:
var
UserInput : array [1..3] of string;
我正在尝试一次设置多个值。
readln( UserInput[1], UserInput[2], UserInput[3] );
代码运行时,所有输入都存储在UserInput [1]
中Ex.:
Input: 10 1.5 18
Result:
UserInput[1] = 10 1.5 18
UserInput[2] = 0
UserInput[3] = 0
我该怎么办?
答案 0 :(得分:4)
定义为float或int而不是string:
Var
myVar : Integer;
myArray : Array[1..5] of Integer;
Begin
myArray[2] := 25;
myVar := myArray[2];
End.
答案 1 :(得分:3)
readln
只是阅读文字,它不知道你的意思是"10 1.5 18"
是三个不同的东西。对于你的人眼来说,这是三个数字,但对于计算机来说,它只是九个字符串。
我的Pascal非常生疏,但如果您将UserInput
定义为float
类型,则readln
应将文本解释为数字,如您所料。或者,如果readln
只读取字符串,则必须编写更多代码才能将其转换为数字。