#include <stdio.h>func(int a,int b){ int temp=a; a=b; b=temp;}main(){ int x,y; x=10;y=20; func(x,y); printf("%d,%d\n",x,y);}
2 回答
已采纳
JustWannaHugU
TA贡献452条经验 获得超796个赞
C语言函数参数的基本规则是值传递,所以传递时只能实现实参向形参的单向的、值的传递。
你要实现交换两个值,需要使用指针才能实现值交换。
修改后的程序如下
望采纳
#include <stdio.h>
void fun(int*a,int*b)
{
int temp=*a;
*a=*b; *b=temp;
}
int main()
{
int x,y;
x=10;y=20;
fun(&x,&y);
printf("%d,%d\n",x,y);
return 0;
}- 2 回答
- 0 关注
- 1626 浏览
添加回答
举报
0/150
提交
取消
