#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 关注
- 1524 浏览
添加回答
举报
0/150
提交
取消