?#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貢獻(xiàn)452條經(jīng)驗(yàn) 獲得超796個(gè)贊
C語(yǔ)言函數(shù)參數(shù)的基本規(guī)則是值傳遞,所以傳遞時(shí)只能實(shí)現(xiàn)實(shí)參向形參的單向的、值的傳遞。
你要實(shí)現(xiàn)交換兩個(gè)值,需要使用指針才能實(shí)現(xiàn)值交換。
修改后的程序如下
望采納
#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 關(guān)注
- 1574 瀏覽
添加回答
舉報(bào)
0/150
提交
取消