pascal的exit和C的return的区别

来源:百度知道 编辑:UC知道 时间:2024/06/02 18:42:51
k=1开始;
void suanfa1(uchar k)
{
printf("%d",k);
if (k==5) return ;
suanfa1(k+1);
printf("%d",k);
}
结果是多少?
会不会出现123455555?
procedure suanfa1(k:integer);
begin
write(k);
if (k=5) then exit ;
suanfa1(k+1);
write(k);
end;
两着会不会有区别
C51中就不行,就是123455555

program suanfa;
var
k:integer;

procedure suanfa1(var k:integer);
begin
write(k);
if (k=5) then exit ;
suanfa1(k+1);
write(k);
end;

begin
k:=1;
suanfa1(k);
end.

最后的输结果也是123455555,因为我在参数表里加了'var'。
你在c里面出的问题应该也就是个原理。

没区别
一样的
要不你试试

差不多,不信自己试。

C中的return表示返回函数的值。返回0则写成return(0)