一个关于pascal语言function的问题。
resulttype(a,b:types):types;beginif(a>reals)or(b>reals)thenbeginerror(33);resulttype:...
resulttype(a,b:types):types;
begin
if(a>reals)or(b>reals)
then begin
error(33);
resulttype:=notyp
end
.......
end
请问:resulttype:=notyp,这句话是在干嘛?调用的话少一个参数啊。。。。不是调用的话,怎么会给 function赋值呢。。。
如果把它改成c语言会是什么样子啊?
谢谢!! 展开
begin
if(a>reals)or(b>reals)
then begin
error(33);
resulttype:=notyp
end
.......
end
请问:resulttype:=notyp,这句话是在干嘛?调用的话少一个参数啊。。。。不是调用的话,怎么会给 function赋值呢。。。
如果把它改成c语言会是什么样子啊?
谢谢!! 展开
1个回答
2013-12-28
展开全部
就是给函数返回值的,但是并不退出函数,而是继续执行下面的语句,格式为 函数名:=值(值的类型与函数返回值相同,一个函数里可以多次使用,可以理解为就是给一个变量赋值,最后返回这个变量的值,pascal里这个变量就可以是函数名,这样不用再加其他语句,在c里相当于定义一个局部变量,把算出来的值赋给这个变量,并在函数跳出前加上return 这个变量;)
而free pascal里可以用exit(返回值);的语句exit是保留字,语句作用与c里的return 返回值;作用完全相同。
而free pascal里可以用exit(返回值);的语句exit是保留字,语句作用与c里的return 返回值;作用完全相同。
追问
那要是给函数名赋值多次是不是函数返回最后一次的赋值?
追答
是的,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询