为什么用packed定义过的数组,用TURBO PASCAL编绎都出错。(30分)

  • 主题发起人 主题发起人 kadi88
  • 开始时间 开始时间
K

kadi88

Unregistered / Unconfirmed
GUEST, unregistred user!
example:
program sort(input,output);
type
word=packed array[1..15]of char;
var
a:array[1..10]of word;
i:integer;
begin
for i:=1 to 10 do
readln(a);
end.
 
这样来:

word本身就是一种类型,你怎么可以重复定义?
换换 : 比如 myword=packed array[1..15]of char;
 
来自《PASCAL程序设计》一书。
但以下代码却可以编译通过。
program sort(input,output);
var
a:array[1..10]of word;
i:integer;
begin
for i:=1 to 10 do
readln(a);
end.
 
to
改成MYWORD不是编译不过呀?
我的本意是定义一个紧缩字符数组类型MYWORD。然后再定义一个MYWORD类型的数组,
再读入10个单词。能帮我写下代码吗?
 
to:卷起千堆雪tyn ,谢了。
 
谁能帮我写出代码?
 
你的出错信息?
 
编译时提示的信息是:
Cannot Read or Write vars of this type!
 
Turbo Pascal不支持packed array...of char!
用string吧。
 
to vongy:按你提示试了,但还是同样的提示。怎么办?
 
type words=string[20];
var a:array[1..10]of words
i:integer;
begin
for i:=1 to 10 do
read(a);
end.
Delphi我懂得不多,Turbo Pascal还是挺在行的[:D]
 
编译通过,谢过vongy!
不过真的有些不明白《PASCAL程序设计》一书下面的定义是何为
仅仅是学术上的表达吗?令我困惑。特别是我的代码在DELPHI5下也通不过。
摘录:
为了节省存储空间,可以把字符数组定义成紧缩字符数组。其一般形式如下:
type
<紧缩字符数组类型标识符>=packed array[<下标类型>]of char;
var
<紧缩字符数组变量表>:<紧缩字符数组类型标识符>;
 
那是标准Pascal,Turbo Pascal对它有很多改进和扩充。这就是一个例子。
 
接受答案了.
 
后退
顶部