fillchar的问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 12:15:21
以前fillchar常在noip题目上看到,一般都是用fillchar(a,sizeof(a),0)今天在程序很自然的改用了一下
fillchar(a,sizeof(a),1);
结果我的程序失效,输出乱码,开始还以为是我用n:=n*i这样的语句导致数值过大,发现不是这个问题了后又去检查这里检查那里,调试了我1个小时才让我抓到这个致命的fillchar。。。把它改为for i:=1 to n do a[i]:=1;数据全部通过。。。冷汗啊,好在我现在发现了这个问题,不然到比赛的时候用了的话就挂掉了,谁知道这个函数到底怎么用啊?为什么0可以1就不行了呢?

FillChar(a,sizeof(a),1);
当arrtype为
1.boolean 全部为true(1是非0值,表示true)
2.char 全部为#1
3.byte,shortint 每个元素是1字节量,全部为1
4.integer,word 每个元素是2字节量,全部为(257)10。
5.longint 每个元素是4字节量,全部为(16843009)10。
6.single 每个元素是4字节量,全部为2.36942782761724E-0038