How do I fix this error:' Illegal identifier?'

How do I fix this error:' Illegal identifier?'

我最近尝试在 pascal 中创建一个基本的 caesar-cypher(使用 lazarus 作为我的编译器)。我的目标是将数字设置为数组,然后将所有数字声明为字母,这样当我 运行 代码应该打乱或 'encrypt' 代码。我还是个初学者,一直在尝试用这段代码克服第一个基本问题。我已经了解了它如何工作的理论......只是还没有弄清楚如何将其付诸实践:( [它一直突出显示 numbers[1] := 'a'; 代码并说非法标识符?! 到目前为止,这就是我所拥有的:

program Caesarcypher;
  var
    numbers : integer;
    number : array [1..26]of integer;
begin
  numbers[1] := 'a';
  numbers[2] := 'b';
  numbers[3] := 'c';
  numbers[4] := 'd';
  numbers[5] := 'e';
  numbers[6] := 'f';
  numbers[7] := 'g';
  numbers[8] := 'h';
  numbers[9] := 'i';
  numbers[10] := 'j';
  numbers[11] := 'k';
  numbers[12] := 'l';
  numbers[13] := 'm';
  numbers[14] := 'n';
  numbers[15] := 'o';
  numbers[16] := 'p';
  numbers[17] := 'q';
  numbers[18] := 'r';
  numbers[19] := 's';
  numbers[20] := 't';
  numbers[21] := 'u';
  numbers[22] := 'v';
  numbers[23] := 'w';
  numbers[24] := 'x';
  numbers[25] := 'y';
  numbers[26] := 'z';

end.

你至少有两个错误。

  1. 您没有将 numbers 声明为数组变量。它只是一个整型变量。所以它没有成员[1]..[n]。您可以这样分配:numbers:=64;
  2. 您已将数字声明为整数数组。因此,您无法为其成员分配字符值。您可以分配 number[1]:=1;如果您希望将角色分配给其成员,您需要声明 var numbers:array [1..26] of char;number:array [1..26] of char;