pascal程序中记录类型中能否出现string

TYPExx=string;date=RECORDyear:integer;mounth:1..12;day:1..31;END;student=RECORDnum:in... TYPE
xx=string;
date=RECORD
year:integer;
mounth:1..12;
day:1..31;
END;
student=RECORD
num:integer;
birthday:date;
marridate:date;
CASE sex:xx of
'1':(n:integer);
'2':(ok:string);
END;
VAR
a:student;
BEGIN
WITH a,birthday do
BEGIN
num:=12345;
year:=2012;
mounth:=12;
day:=21;
WITH marridate do
BEGIN
year:=1999;
mounth:=11;
day:=2;
END;
readln (sex);
CASE sex of
'1':read (n);
'2':read (ok);
END;
END;
WITH a,birthday do
BEGIN
writeln (num,' ',year,' ',mounth,' ',day);
WITH marridate do
writeln (year,' ',mounth,' ',day);
CASE sex of
'1':write (n);
'2':write (ok);
END;
END;
END.
但是改成这样却能运行
TYPE
date=RECORD
year:integer;
mounth:1..12;
day:1..31;
END;
student=RECORD
num:integer;
birthday:date;
marridate:date;
CASE sex:integer of
1:(n:integer);
2:(ok:string);
END;
VAR
a:student;
BEGIN
WITH a,birthday do
BEGIN
num:=12345;
year:=2012;
mounth:=12;
day:=21;
WITH marridate do
BEGIN
year:=1999;
mounth:=11;
day:=2;
END;
readln (sex);
CASE sex of
1:read (n);
2:read (ok);
END;
END;
WITH a,birthday do
BEGIN
writeln (num,' ',year,' ',mounth,' ',day);
WITH marridate do
writeln (year,' ',mounth,' ',day);
CASE sex of
1:write (n);
2:write (ok);
END;
END;
END.
试问一楼:为什么?
展开
 我来答
ycht520
2010-08-27 · 超过34用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:80.9万
展开全部
case 当然不能和 string 联用。

只能和 integer 类型一起
zyh617517224
2010-08-29 · TA获得超过1549个赞
知道小有建树答主
回答量:654
采纳率:0%
帮助的人:808万
展开全部
在定义语句中不能出现case
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f849e4
2010-08-29 · TA获得超过393个赞
知道答主
回答量:362
采纳率:0%
帮助的人:100万
展开全部
定义语句中不能出现case
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式