指针的使用 (100分)

  • 主题发起人 主题发起人 我是一只小小鸟
  • 开始时间 开始时间

我是一只小小鸟

Unregistered / Unconfirmed
GUEST, unregistred user!
大家看看那里错了

unit Unitx;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
pt=^tm;
tm=record
data:integer;
next:pt;
end;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
p1,p2:pt;
i:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
p3:pt;
begin
i:=i+1;
new(p3);
p3.data:=i;
if p1=nil then
begin
p1:=p3;
p2:=p3;
end
else
begin
p2.next:=p3;
p2:=p3;
end;
p3:=nil;
edit1.Text :=inttostr(i);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
p2:=p1;
while p2<>nil do
begin
edit1.Text :=inttostr(p2.data);
p2:=p2.next;
end;
end;

end.
 
自己解决了,不过答出的还有分哦
 
我顶有没有分
 
问题这里!

procedure TForm1.Button2Click(Sender: TObject);
begin
p2:=p1;
while p2<>nil do
begin
edit1.Text :=inttostr(p2.data);
if p2.next <>nil then //需先 p2.next 指向的一块内存是否有效.
p2:=p2.next
else p2:=nil;

end;
end;
 
to Jhdandcl
意思差不多 ,
procedure TForm1.Button1Click(Sender: TObject);
var
p3:pt;
begin
i:=i+1;
new(p3);
p3.data:=i;
p3.next:=nil;//实际上就差这一句;
if p1=nil then
begin
p1:=p3;
p2:=p3;
end
else
begin
p2.next:=p3;
p2:=p3;
end;
p3:=nil;
edit1.Text :=inttostr(i);
end;
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
749
import
I
I
回复
0
查看
701
import
I
I
回复
0
查看
777
import
I
后退
顶部