标题:数值互换子函数
只看楼主
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: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册: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: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
无参函数 除非使用全局变量。可是使用全局变量还不如不用函数的好

DO IT YOURSELF !
2017-03-22 13:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475364-1-1.html




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

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