引用调用和值调用的区别是什么?请看实例帮偶解释噢~~~~~~~~~~~~~~~~

xmmmhdj 2004-10-21 11:46:16
main program

a:=1;
addom(a);
write(a);


procedure addom(x)
a:=x+1;
x:=x+1;
return;
偶的基础不好,嘻嘻,请耐心帮助我,谢谢啦
...全文
1045 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
dick4610 2004-10-21
  • 打赏
  • 举报
回复
引用不生成临时对象
值传递另外建立临时对象
goodluckyxl 2004-10-21
  • 打赏
  • 举报
回复
引用的:是操作对象的地址内的内容,不会生成临时对象。地址是为一的所以可以改变其内容
值传递 是建立临时对象,你操作建立在临时对象上
函数调用结束,临时对象消亡你的操作结果也就无法在对象上体现
Flood1984 2004-10-21
  • 打赏
  • 举报
回复
引用调用和值调用的区别是:
引用调用相当于传地址,它直接在原来的内存上写数据;
值调用是把原来的值在另外的内存上复制了一份,函数(pascal中的过程和方法)返回后复制的那一份将消失;

例:
引用调用:a:=1;
在addom(x)中:x=x+1; 因为x是用的a的地址,所以write(a)时输出 2;
值调用: a:=1;
在addom(x)中:x=x+1;因为x是在另外的内存上复制了一份,它将在方法返回后消失,
所以write(a)时输出的仍是原来的a, 即输出 1 .
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
不管是什么形式,道理是一样的呀,请帮我解释!!!!!!!!!!谢谢谢谢
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
这是一个考题里的,考题的范围就是C和C++呀
daylove 2004-10-21
  • 打赏
  • 举报
回复
楼上说的对!
freshairfly 2004-10-21
  • 打赏
  • 举报
回复
这是C++的吗?怎么看着像Delphi呢

xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
引用调用我基本清楚了,是对了一下地址进行操作,改为了A的值,但值调用我没有想明白
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
做不出来,呜呜。。。。。。。。痛苦,你可不可以一步步告诉我是怎么回事吗》你有QQ吗,那里说起来快一些,我的QQ53482497
Flood1984 2004-10-21
  • 打赏
  • 举报
回复
其实你根据我最上面的解释应该能做出来了
Flood1984 2004-10-21
  • 打赏
  • 举报
回复
写错了
Flood1984 2004-10-21
  • 打赏
  • 举报
回复
引用调用和值调用分别是D和B
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
Flood1984(请不要做浮躁的人)
你的和答案正好相反呀,分别是D和B
Flood1984 2004-10-21
  • 打赏
  • 举报
回复
Sorry ,是面写错了,是引用调用和值调用分别是D和B;
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
中午犯困,总出错,嘻嘻嘻,这回是最准的题,哈哈哈!!!!!!!!!

main program
a:=1;
addom(a);
write(a);

procedure addom(x)
a:=x+1;
x:=x+2;
return;

请问引用调用和值调用分别输出结果是什么
A.1 B.2 C.3 D.4
请用具体这个例子帮我解释呀,谢谢 ,最尽心的才可以得到我的分啊
Flood1984 2004-10-21
  • 打赏
  • 举报
回复
引用调用和值调用分别是B和D
jordan1 2004-10-21
  • 打赏
  • 举报
回复
引用调用可能改变被调用元素的值,值调用不会改变被元素的值。
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
ding ding ding ding ,
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
procedure我写错了,对不起,应该是:

main program
a:=1;
addom(a);
write(a);

procedure addom(x)
a:=x+1;
x:=x+2;
return;

请问原值调用和值调用分别输出结果是什么
A.1 B.2 C.3 D.4
xmmmhdj 2004-10-21
  • 打赏
  • 举报
回复
里面是a:=x+1呀,是不是错了,我是下载的题,应该是x:=x+1对吗?

65,203

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧