pascal copy

来源:百度知道 编辑:UC知道 时间:2024/05/27 18:53:29
为什么我这样会出错?
a:array【1..13】of string;
i:integer;
st:string;
……
for i := 1 to 13 do
a[i]:=copy(st,i,1);
……
那个copy语句出了什么问题?
应怎样做?

program project1;
type tab=array [1..13] of string;
var a:tab; i:integer; st:string;
begin
readln(st);
for i := 1 to 13 do a[i]:=copy(st,i,1);
for i:=1 to 13 do write(a[i]);
readln;
end.
一定是copy语句错了吗?我没发现错啊
你再查查看别的地方
我用lazarus编了个你试试看

ps:六楼: 变量不够不要紧的

a[i]:=copy(st,i,1);

应该是a[i]:=copy(st,1,i);

你确定是错吗?错误代码是多少,告诉我,我看看

肯定是前面读字符串是错了
或者是用fp编的
fp稳定性太低
用tp打开编译
或重启后再用fp

copy语句没有错误,即使前面读st时输入的字符串长度小于13个字符也不会报错,一定是你其他什么地方有问题。

应该是变量st的长度不够长