我写了一个程序:
program Project2;function abs(x:integer):integer;
begin
if (x>=0) then
begin
writeln('x>0');
abs:=x;
end
else
begin
writeln('x<0');
abs:=-x;
writeln('x<0');
end;
end;begin
writeln('hello,world');
writeln(abs(-3));
readln;
end.
运行的结果是:
hello,world
x<0
x<0
3
为什么不是
hello,world
x<0
3
在执行完abs:=-x;之后为什么不返回
还有请问过程如何返回,有没有像c语言的return
program Project2;function abs(x:integer):integer;
begin
if (x>=0) then
begin
writeln('x>0');
abs:=x;
end
else
begin
writeln('x<0');
abs:=-x;
writeln('x<0');
end;
end;begin
writeln('hello,world');
writeln(abs(-3));
readln;
end.
运行的结果是:
hello,world
x<0
x<0
3
为什么不是
hello,world
x<0
3
在执行完abs:=-x;之后为什么不返回
还有请问过程如何返回,有没有像c语言的return
如果要出来,用Exit(跳出所在的过程或函数)
/////////Result
function abs(x:integer):integer;
begin
if (x>=0) then
begin
ShowMessage('x>=0');
Result:=x;
end else
begin
ShowMessage('x<0');
Result:=-x;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('hello,world');
ShowMessage(IntToStr(abs(-3)));
end;
函数要执行语句;
writeln('x<0');
abs:=-x;
writeln('x<0');肯定是输出;
x<0
x<0
两次了;另外在delphi中过程不能有返回值;
函数可以;用result返回;
//...
writeln('x<0');
abs:=-x;
exit;
//...
begin
if (x>=0) then
begin
writeln('x>0');
Result:=x;
end
else
begin
writeln('x<0');
Result:=-x;
writeln('x<0');
end;
end;