Pascal 定义子界Pascal 子界类型如何在Const中定义?或者说是根本就没办法吗?Program Exam;Const Limit=0..9;就是这个意思.但是系统会报错.请教怎么办?--------------------如果是单纯的Var 用也就罢了.但是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 01:13:45

Pascal 定义子界Pascal 子界类型如何在Const中定义?或者说是根本就没办法吗?Program Exam;Const Limit=0..9;就是这个意思.但是系统会报错.请教怎么办?--------------------如果是单纯的Var 用也就罢了.但是
Pascal 定义子界
Pascal 子界类型如何在Const中定义?或者说是根本就没办法吗?
Program Exam;
Const
Limit=0..9;
就是这个意思.但是系统会报错.请教怎么办?
--------------------
如果是单纯的Var 用也就罢了.但是:
Var
Limit:0..9;
Procedure Solve(Var Limit:0..9);
这个是过不去的啊
好吧其实我就想知道procedure 中的子界变量怎么办.
就是这样
_______________________________
inp作何解?

Pascal 定义子界Pascal 子界类型如何在Const中定义?或者说是根本就没办法吗?Program Exam;Const Limit=0..9;就是这个意思.但是系统会报错.请教怎么办?--------------------如果是单纯的Var 用也就罢了.但是
常量是不能用子界的,什么叫常量?常量是确定的,如果一个确定的量我又说它是在0到9之间,它就不叫确定的量了.
你的程序应该意思是limit是一个自定义类型,要用type
为什么你的procedure过不去呢?因为pascal没那么聪明,它判断2个类型是否相同是件很复杂的事情,所以只提供这项功能:只有你定义的这2个变量的基类型完全相同才算这2个变量类型相同.
别看你2个都是0..9,但就像表达式计算一样,判断2个表达式是否等价非常复杂(具体可以看vijos的p1003)
你只有定义2个都是比如t类型:
type t=0..9;
var limit:t;
procedure solve(var limit:t);
才能过
这样的语句是允许的:const limit:0..9=5;
但其实还不如const limit:byte=5;