鱼C论坛

 找回密码
 立即注册
查看: 4338|回复: 4

如何用函数实现两数互换,

[复制链接]
发表于 2013-1-12 14:45:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. int main(int argc, char *argv[])
  3. {
  4.         int a,b;
  5.         a=5,b=6;
  6.         int swap(int a,int b);
  7.         swap(a,b);
  8.         printf("%d %d",a,b);
  9.       
  10.         return 0;
  11. }

  12. int swap(int a,int b)
  13. {
  14.         int temp;
  15.         temp=a;
  16.         a=b;
  17.         b=temp;
  18. }

  19. //这里只改变了形参的值 而实参并没有改变,那么如何用函数来实现 实参的改变呢
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-1-12 15:11:52 | 显示全部楼层
请问是不是必须通过指针(也就是地址来实现恩?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-12 15:43:34 | 显示全部楼层
  1. #include <stdio.h>

  2. int swap(int *a,int *b);

  3. int main(int argc, char *argv[])
  4. {
  5.         int a,b;

  6.         a=5,b=6;
  7.         swap(&a,&b);
  8.         printf("%d %d",a,b);

  9.         return 0;
  10. }

  11. int swap(int *a,int *b)
  12. {
  13.         int temp;
  14.         temp=*a;
  15.         *a=*b;
  16.         *b=temp;
  17. }

  18. //这里只改变了形参的值 而实参并没有改变,那么如何用函数来实现 实参的改变呢
复制代码
还是女孩纸的代码干净些哈,不错不错~

那个还可以用引用调用的形式,不过C语言不支持引用调用。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-1-13 10:46:32 | 显示全部楼层

挖。  小甲鱼  ,亮瞎我了, 哈哈哈, 偶像、。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-13 14:43:30 | 显示全部楼层
好多鱼^^ 发表于 2013-1-13 10:46
挖。  小甲鱼  ,亮瞎我了, 哈哈哈, 偶像、。

已解决的话记得把【求助中】改为【已解决】哦~
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-9 08:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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