找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4335|回复: 1

[开源] 【开源】交换变量值--函数参数传递之地址传递举例

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2008-12-20 08:05:15 | 显示全部楼层 |阅读模式
<p><font face="Verdana">#include &lt;iostream.h&gt;<br/>void Swap(int *a, int *b); //函数原型的声明,将形参a,b说明成指针<br/>int main(int argc, char* argv[])<br/>{<br/>&nbsp;int x=8,y=10;<br/>&nbsp;cout&lt;&lt;"x="&lt;&lt;x&lt;&lt;"&nbsp;&nbsp;&nbsp; y="&lt;&lt;y&lt;&lt;endl;&nbsp; //输出调用函数前x和y的值<br/>&nbsp;Swap(&amp;x,&amp;y);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //调用函数Swap <br/>&nbsp;cout&lt;&lt;"x="&lt;&lt;x&lt;&lt;"&nbsp;&nbsp;&nbsp; y="&lt;&lt;y&lt;&lt;endl;&nbsp; //输出调用函数后x和y的值<br/>&nbsp;cin&gt;&gt;x;<br/>&nbsp;return 0;<br/>}<br/>void Swap(int *a,int *b)&nbsp; //交换两个数的函数<br/>{&nbsp;int t;<br/>&nbsp;t=*a;<br/>&nbsp;*a=*b;<br/>&nbsp;*b=t;<br/>}</font></p>
<p>&nbsp;</p>
<p>//分解说明</p>
<p>//指针类型的指针变量a,b存有各指向单元的地址值,将指针交换赋值步骤为: <br/><br/>//①将t=a (让t具有a的指针值); <br/><br/>//②将a=b (让a具有b的指针值); <br/><br/>//③将b=c (让b具有c的指针值); <br/></p>
[此贴子已经被作者于2008-12-20 8:43:53编辑过]
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

 楼主| 发表于 2008-12-20 08:32:31 | 显示全部楼层
<p><font face="Verdana">//如果将swap 函数放在main()函数前面,刚不用声明函数,放在main()函数后面必须声明</font></p>
<p>//</p>
<p><font face="Verdana">void swap(int *a,int *b)&nbsp; //交换两个数的函数<br/>{ int t;<br/>&nbsp;t=*a;<br/>&nbsp;*a=*b;<br/>&nbsp;*b=t;<br/>}</font></p>
<p><font face="Verdana">void main()<br/>{<br/>&nbsp;int a=3,b=4;<br/>&nbsp;printf("%d,%d\n",a,b);<br/>&nbsp;swap(&amp;a,&amp;b);<br/>&nbsp;printf("%d,%d\n",a,b);<br/>} </font></p>
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表