pascal读入字符串的问题!!

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:47:17
有一个问题需要从键盘读入2000个字符以内的句子,以回车结束。

用字符串只能存储255个字符,用数组也不知道怎么办!高手指点一下!

这是可以办到的。
program strings;
var
a:array[1..10000] of integer;
i:longint;
begin
for i:=1 to 10000 do
begin
read(a[i]);
if a[i]=chr(13) then break;{回车的ASCII码为13}
end;
for i:=1 to 10000 do
if a[i]=' ' then break else write(a[i]){为空即退出}
end.

用数组读,用if判断读到回车结束

a:packed array [1..2000] of char;
紧缩型数组,可以象字符串一样直接使用(类型只限char)/例: readln(a).

ansistring Free Pascal 里的类型 无限长字符串

那就依题意而定啦

题目简单的话甚至只需要一个字符变量
while not eof do
begin
read(ch);
....
end;

若找不到这样的算法那就开字符数组或AnsiString吧

AnsiString 是动态存储的,所以最大可以达到你的内存总大小,2000完全没问题。

var
a:array[1..9] of string; {2000/255≈9}
i:longint;
begin
for i:=1 to 9 do
read(a[i]); {一定要用read,不要用readln}
end.