主题:[讨论]请问过程或函数后面的参数是什么意思??
编程黑客
[专家分:1660] 发布于 2006-05-05 22:18:00
帮忙呀!+++++++30[em5]
回复列表 (共9个回复)
沙发
贺天行宝 [专家分:2300] 发布于 2006-05-06 14:43:00
比如var a,b:integer;
function jia(a,b:integer):integer;
begin
jia:=a+b;
b:=a+b;
end;
begin
a:=1;b:=2;
writeln(jia(a,b));
writeln(a);writeln(b);
end.
出来是3
1
2
如果是var a,b:integer;
function jia(var a,b:integer):integer;
begin
jia:=a+b;
b:=a+b;
end;
begin
a:=1;b:=2;
writeln(jia(a,b));
writeln(a);writeln(b);
end.
出来是3
1
3
板凳
96131 [专家分:0] 发布于 2006-05-08 15:51:00
能请贺天行宝在讲的详细些吗?我还是没看懂
3 楼
贺天行宝 [专家分:2300] 发布于 2006-05-08 20:26:00
可以说那些数就是要在函数或过程中处理的(或有用)数,加了var后,如果在函数或过程中,改变了他们,在主程序中也会改变。
反之,主程序中还是调用之前的
这个自己试试吧,讲很难讲清楚地
4 楼
编程黑客 [专家分:1660] 发布于 2006-05-13 21:32:00
能再说详细点吗?
我还是不太懂诶!!
5 楼
boyce [专家分:110] 发布于 2006-05-14 00:31:00
[quote]比如var a,b:integer;
function jia(a,b:integer):integer;[/quote]
这个是值参数,他的值的改变不会影响对应的实在参数的值
begin
jia:=a+b;
b:=a+b;
end;
begin
a:=1;b:=2;
writeln(jia(a,b));
writeln(a);writeln(b);
end.
出来是3
1
2
[quote]如果是var a,b:integer;
function jia(var a,b:integer):integer;[/quote]
这个是变量参数,函数中对它的运算实际上是对实在参数的运算
begin
jia:=a+b;
b:=a+b;
end;
begin
a:=1;b:=2;
writeln(jia(a,b));
writeln(a);writeln(b);
end.
出来是3
1
3
[/quote]
天行宝,我说的对吧
[em16][em13]
6 楼
编程黑客 [专家分:1660] 发布于 2006-05-14 22:37:00
变参的值是不是和传过去变量的值一样?
呢值参是什么意思??
7 楼
boyce [专家分:110] 发布于 2006-05-15 01:34:00
[quote]变参的值是不是和传过去变量的值一样?[/quote]
是
[quote]呢值参是什么意思??[/quote]
"值参数"是形式参数的一种,另一种形式参数是"变量参数".
这个回答是正确的,不用向天行宝求证了
[em15]
8 楼
boyce [专家分:110] 发布于 2006-05-15 01:39:00
得分了,呵呵
[em2]
有些受之有愧
我也初学,比"贺天行宝"要差很多.
大家共同进步!
9 楼
编程黑客 [专家分:1660] 发布于 2006-05-15 22:08:00
谢谢,我们当然要共同进步啦~!!
顺便问一下,值参的值又等于什么呢?
我来回复