指针问题
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
StringArray=array of string;
PStringArray=^StringArray;
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function seqsearch(astrs:pstringarray;acount:integer;const aname:string):integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
a:array[0..4] of string=
('12345',
'23456',
'34567',
'45678',
'56789');
p:PStringArray;
implementation
{$R *.dfm}
function tform1.seqsearch(astrs:pstringarray;acount:integer;const aname:string):integer;
var
i:integer;
begin
for i:=0 to pred(acount) do
if comparetext(astrs^[i],aname)=0 then
begin
result:=i;
exit;
end;
result:=-1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
p:=@a;
edit1.Text:=inttostr(seqsearch(p,5,'34567'));
end;
end.
运行时点击按钮出错,停在了if comparetext(astrs^[i],aname)=0这句上。请问为什么,怎样解决?谢谢!
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
StringArray=array of string;
PStringArray=^StringArray;
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function seqsearch(astrs:pstringarray;acount:integer;const aname:string):integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
a:array[0..4] of string=
('12345',
'23456',
'34567',
'45678',
'56789');
p:PStringArray;
implementation
{$R *.dfm}
function tform1.seqsearch(astrs:pstringarray;acount:integer;const aname:string):integer;
var
i:integer;
begin
for i:=0 to pred(acount) do
if comparetext(astrs^[i],aname)=0 then
begin
result:=i;
exit;
end;
result:=-1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
p:=@a;
edit1.Text:=inttostr(seqsearch(p,5,'34567'));
end;
end.
运行时点击按钮出错,停在了if comparetext(astrs^[i],aname)=0这句上。请问为什么,怎样解决?谢谢!
...全文
相关推荐
JavaScript使用指针操作实现约瑟夫问题实例
主要介绍了JavaScript使用指针操作实现约瑟夫问题,实例分析了javascript模拟数组指针操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
关于C语言指针赋值的问题详解
本篇文章是对C语言指针赋值的问题进行了详细的分析介绍,需要的朋友参考下
适合小白的python算法-双指针问题
python算法-双指针问题一、数组合并1. 使用模拟指针和并两个有序数组2.模拟指针说明:二、二分法(折半查找法)1.有序数组的二分法查找2. 二分法说明三、链表(双链表和单链表区别) 一、数组合并 1. 使用模拟指针和并两个有序数组 # 使用指针合并两个数组 arr1 = [1,3,4,6,7] arr2 = [2,5,8,9,10] #定义两个有序数组,并初始化赋值 ind = 0 # ans比较时的角标 ans = arr1.copy() #ans 排序结果初始化为arr1 for i in range(0,len(arr2)): while ind < len(arr1): i
野指针问题
野指针问题
基于C++ map中key使用指针问题的详解
本篇文章是对C++ map中key使用指针的问题进行了详细的分析介绍,需要的朋友参考下


语言基础/算法/系统设计
