| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1308 人关注过本帖
标题:数值互换子函数
只看楼主 加入收藏
lrui829
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2016-3-31
结帖率:25%
收藏
已结贴  问题点数:5 回复次数:10 
数值互换子函数
#include<stdio.h>
int main()
{int a,b;
void exchange(int x,int y);
 printf("请输入两个整数:");
 scanf("%d %d",&a,&b);
 if(a>b)exchange(a,b);//满足a<b
 printf("按从小到大的顺序输出:%d %d\n",a,b);
 return 0;
}
void exchange(int x,int y)
{ int z;
 z=x;x=y;y=z;
}

子函数哪儿出问题了?怎么就不对呢?求指点

[此贴子已经被作者于2017-3-22 13:15编辑过]

2017-03-22 12:44
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:2 


[此贴子已经被作者于2017-3-22 13:17编辑过]

2017-03-22 12:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
要用指针才行

DO IT YOURSELF !
2017-03-22 13:03
lrui829
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2016-3-31
收藏
得分:0 
回复 2楼 peter张
改了也不对
2017-03-22 13:16
lrui829
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2016-3-31
收藏
得分:0 
回复 3楼 wp231957
指针是可以实现,但是用无参函数应该也能实现才对,
2017-03-22 13:18
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
用指针
2017-03-22 13:20
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
回复 5楼 lrui829
无参函数?你说的是有参函数吧?
形参不能改变实参的。子函数运行后就不存在了。
你把输出语句放到子函数中能输出你想要的结果。但并没有改变实参

[此贴子已经被作者于2017-3-22 13:29编辑过]

2017-03-22 13:26
lrui829
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2016-3-31
收藏
得分:0 
回复 6楼 peter张
必须指针?为什么不能用无参函数?
2017-03-22 13:27
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
回复 8楼 lrui829
不用指针的话,你把交换的语句放到主函数中去。
你查查变量的作用域,结合着理解下。
2017-03-22 13:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
无参函数 除非使用全局变量。可是使用全局变量还不如不用函数的好

DO IT YOURSELF !
2017-03-22 13:52
快速回复:数值互换子函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017940 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved