这个貌似没法赋值
因为fillchar 是对位操作(可以理解为每一个字节)
longint是四个字节
用fillchar是给这四个字节都赋值为相同的值
但是要使longint=1,则前三个字节为0,最后一个是1,
这样不符合fillchar的操作,所以不能
fillchar要么对longint赋值为0要么是maxlongint(这两种最常用)
要赋值为1的话就只能用循环了
完毕,给分吧
补充:回楼下
赋值maxlongint的方法是
fillchar(a,sizeof(a),127);或者fillchar(a,sizeof(a),$7f);
(其中a是longint数组)
即把每一个字节都赋值为最大值,那么4个字节都最大,加起来就是满的,所以是maxlongint
同理,对于任何整类型数组,照此法行都可以赋值为本类型的最大值(如integer是maxint;byte是127)
longint没法直接赋成1,
可以赋成0,也就是fillchar(a,sizeof(a),0);
或者可以赋成-1,也就是fillchar(a,sizeof(a),255);
pas_zoujp所言有误,不可以赋maxlongint.