【问题标题】:How do I fix this error:' Illegal identifier?'如何解决此错误:'非法标识符?
【发布时间】:2015-09-30 22:07:55
【问题描述】:

我最近尝试在 pascal 中创建一个基本的 caesar-cypher(使用 lazarus 作为我的编译器)。我的目标是将数字设置为数组,然后将所有数字声明为字母,这样当我运行代码时,它应该对代码进行加扰或“加密”。我仍然是一个初学者,并且一直在努力克服这段代码的第一个基本问题。我已经了解了它是如何工作的理论......只是还没弄清楚如何将其付诸实践:( [它一直突出显示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.

【问题讨论】:

    标签: arrays loops lazarus procedures


    【解决方案1】:

    你至少有两个错误。

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

    【讨论】:

      猜你喜欢
      • 2020-11-08
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      相关资源
      最近更新 更多