首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

初学者问有关问题:delphi默认初始化有关问题

2012-02-07 
菜鸟问问题:delphi默认初始化问题vari , j : integerb : shortstringbeginb : avaaaadfsaffor i :

菜鸟问问题:delphi默认初始化问题
var
  i , j : integer;
  b : shortstring;
begin
 b := 'avaaaadfsaf';
  for i := low(b) to high(b) do
  begin
  if b[i] = 'a' then
  j := j+1;
  end ;
  showmessage('字母a出现了' + inttostr(j) + '次');
这段代码如果不给i和j赋初值程序结果不对,我想问下如果不赋初值系统默认的会把赋那个值给局部变量,全局变量是否也一样。谢谢


[解决办法]
如果不默认的话,通常这个值是随机的,就是说,内存里面 i 和 j 当时的位置里面是什么,得到的就是什么。

用 for 循环的话,i 是被初始化为 low(b) 的,j 需要初始化。

热点排行