作者lanlansaysay (Biu)
看板Grad-ProbAsk
标题[理工] 资结 参数传递
时间Sun Jul 5 19:59:30 2020
https://i.imgur.com/Mgr5yR6.jpg
想请问这题为什麽 i 跟 a[ i ] 都被改变了
b:integer 是代表宣告b为区域变数吗
想请问有宣告跟没宣告的差别
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.76.123.73 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1593950372.A.680.html
1F:推 cossetannie: call by name是把名字替换 这题把a看作i ,b看成a[i] 07/05 21:30
2F:→ cossetannie: 所以swap里会变成 temp=i ,i=a[i] ,a[i]=temp 07/05 21:31
3F:→ cossetannie: 再把值带入得到 temp=3 ,i=a[3]=4, a[4]=3 07/05 21:32
4F:→ cossetannie: call by value跟call by name是不一样的传递方式 07/05 21:33
5F:→ cossetannie: 然後b:integer只是告诉你宣告一个int变数而已 07/05 21:34
6F:→ lanlansaysay: 了解了 感谢楼上 07/06 20:02