我定义了data1:array[1..128] of char
s:string
要把s的值赋给data1
我用如下语句
for i := 1 to length(s) do
begin
data1[i-1] := s[i];
end;运行到length后的第一个括号处报错:missing operator or semicolon
是什么原因?
请高手赐教,在线等
s:string
要把s的值赋给data1
我用如下语句
for i := 1 to length(s) do
begin
data1[i-1] := s[i];
end;运行到length后的第一个括号处报错:missing operator or semicolon
是什么原因?
请高手赐教,在线等
data[0], 所以會出錯
data1:array[0..128] of char;這樣也可以
应该这样写:
var
datal :array of char; //声明为动态数组
s :string;
i :integer;
begin
SetLength(datal, Length(s) + 1);
for i := 1 to Length(s)
datal[i] := s[i];
end;
Move(S[1], data1[Low(data1)], Length(S)); //string -> array SetLength(S, Length(data1));
Move(data1[Low(data1)], S[1], Length(data1)); //array - >string
end;
data1[i-1] := s[i];
就是错的,试想i=1时会发生什么?
所以,你声明的数组应该是动态的
然后再分配
应该这样写:
var
datal :array of char; //声明为动态数组
s :string;
i :integer;
begin
SetLength(datal, Length(s) + 1);
for i := 1 to Length(s)
datal[i] := s[i];
end;