注册 登录
编程论坛 Delphi论坛

帮忙解释段代码

ylqs1314 发布于 2010-05-23 13:22, 939 次点击
const
   ARR_T:array[0..5] of Byte=(6,0,31,63,127,255);//第一个数为数组长度,


function GetRange(n:Byte):Byte;//取得n在arr_T所在的区间,从0开始
var
   len,i:Integer;
begin
   len:=ARR_T[0];
   for i:=2 to len-1 do
     if((n>ARR_T[i-1])and(n<=ARR_T[i]))then break;
   result:=Byte(i-2);
end;
3 回复
#2
ylqs13142010-05-23 13:23
可以的话加我QQ,教下我吧,谢谢了
61404002
#3
mohao1632010-05-26 13:38
这段代码其实不难,在前边定义一个数组常量ARR_T,里边有6,0,31,63,127,255,6个元素
然后函数function GetRange(n:Byte):Byte里
先让len:=ARR_T[0];
即len = 6;

然后使用了for i:=2 to len-1 do
for循环从i=2开始到i=5
如果 if((n>ARR_T[i-1])and(n<=ARR_T[i]))then break;
就是从参数里传进来的n大于ARR_T[i-1]的元素并且小于ARR_T[i]的元素则跳出循环,否则将会执行到i=5。
最后返回Byte[i-2里的元素]

#4
jian59862012-11-20 10:15
学习一下
1