帮忙看下这个函数
想用函数实现两个数的调换#include<stdio.h>
void main()
{
int a=1,b=2;
void swap(int x,int y);
swap(a,b);
printf("%d,%d",a,b);
}
void swap(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
这段代码哪里有问题啊,运行了以后没有效果啊,大家帮这看一下
搜索更多相关的解决方案:
函数
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int a=1,b=2;
void swap(int *,int *);
swap(&a,&b);
printf("%d,%d",a,b);
}
void swap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{
int a=1,b=2;
swap(a,b);
printf("%d,%d",a,b);
getch();
}
int swap(int x,int y)
{int temp;
temp=x;
x=y;
y=temp;
return (x,y);
}
----------------解决方案--------------------------------------------------------
要知道形参和实参之间实现的是值传递,是以复制形式传递的
----------------解决方案--------------------------------------------------------
没人能给解释一下为什么不对吗?运行了以后并没有交换啊,帮忙看一下
----------------解决方案--------------------------------------------------------
zhi you 数组 指针 是按地址传递 要不就就要返回制 按值传递
[[it] 本帖最后由 yd4433 于 2008-6-4 22:54 编辑 [/it]]
----------------解决方案--------------------------------------------------------
哦,那意思是只用函数实现不了那个吗?
----------------解决方案--------------------------------------------------------
要不用指针,是地址传递,你用那个函数就加个返回值啊!
----------------解决方案--------------------------------------------------------
你没有声明子函数,你想不声明也可以,但要把子函数定义在主函数前面
----------------解决方案--------------------------------------------------------
你没有声明子函数,你想不声明也可以,但要把子函数定义在主函数前面
----------------解决方案--------------------------------------------------------